Instale um tema programaticamente

Se você deseja instalar temas via seu app.yml, use o seguinte formato:

run:
  - exec: echo "Início dos comandos personalizados"

  - file:
      path: /tmp/mythemes.yml
      contents: |
        discourse-gifs:
          url: https://github.com/discourse/discourse-gifs.git
          add_to_all_themes: true

  - exec:
      cd: $home
      cmd: su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'

  - exec: echo "Fim dos comandos personalizados"

Opções de formato YAML

O arquivo YAML suporta um formato curto (apenas URL) e um formato longo com opções adicionais:

# Formato curto - apenas a URL
nome_do_tema: https://github.com/exemplo/theme.git

# Formato longo - com opções
nome_do_tema:
  url: https://github.com/exemplo/nome_do_tema.git
  branch: "main"
  private_key: ""
  default: false
  add_to_all_themes: false
  skip_update: false
Opção Descrição
url (obrigatório) A URL do repositório Git
branch Ramo Git a ser usado (padrão é o ramo padrão do repositório)
private_key Chave privada SSH para repositórios privados
default Definir como tema padrão (booleano)
add_to_all_themes Apenas para componentes — instalar em todos os temas (booleano)
skip_update Ignorar atualização se o tema já estiver instalado (booleano)

Instalação a partir de um arquivo compactado

Você também pode instalar um tema a partir de um arquivo .zip ou .tar.gz local:

THEME_ARCHIVE=/caminho/para/theme.zip bundle exec rake themes:install:archive

Defina UPDATE_COMPONENTS=0 para ignorar a atualização dos componentes incluídos.

12 curtidas

Ah, fico tão feliz que isso seja possível… Eu estava tentando encontrar uma maneira de carregar temas em uma instância multissite e esta pode ser a maneira mais fácil. Obrigado!

2 curtidas

Se mais alguém estiver procurando uma maneira programática de importar um tema do dispositivo local com um arquivo zip:

export THEME_ARCHIVE=<caminho-absoluto-para-o-arquivo> 
bundle exec rake themes:install:archive

ou

THEME_ARCHIVE=<caminho-absoluto-para-o-arquivo> bundle exec rake themes:install:archive

é seu amigo.

6 curtidas

(também funciona com tar.gz)

2 curtidas