Instalar un tema programáticamente

Si deseas instalar temas a través de tu app.yml, utiliza el siguiente formato:

run:
  - exec: echo "Inicio de 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 "Fin de comandos personalizados"

Opciones de formato YAML

El archivo YAML admite un formato corto (solo la URL) y un formato largo con opciones adicionales:

# Formato corto: solo la URL
nombre_del_tema: https://github.com/example/theme.git

# Formato largo: con opciones
nombre_del_tema:
  url: https://github.com/example/theme_name.git
  branch: "main"
  private_key: ""
  default: false
  add_to_all_themes: false
  skip_update: false
Opción Descripción
url (obligatorio) La URL del repositorio Git
branch Rama de Git a utilizar (por defecto, la rama predeterminada del repositorio)
private_key Clave privada SSH para repositorios privados
default Establecer como tema predeterminado (booleano)
add_to_all_themes Solo para componentes: instalar en todos los temas (booleano)
skip_update Omitir la actualización si el tema ya está instalado (booleano)

Instalación desde un archivo comprimido

También puedes instalar un tema desde un archivo .zip o .tar.gz local:

THEME_ARCHIVE=/ruta/al/tema.zip bundle exec rake themes:install:archive

Establece UPDATE_COMPONENTS=0 para omitir la actualización de los componentes incluidos.

12 Me gusta

Me alegra mucho que esto sea posible… Estaba tratando de encontrar una manera de cargar temas en una instancia multisitio y esta puede ser la forma más fácil. ¡Gracias!

2 Me gusta

Si alguien más está buscando una forma programática de importar un tema desde el dispositivo local con un archivo zip:

export THEME_ARCHIVE=<ruta-absoluta-al-archivo> 
bundle exec rake themes:install:archive

o

THEME_ARCHIVE=<ruta-absoluta-al-archivo> bundle exec rake themes:install:archive

es tu amigo.

6 Me gusta

(también funciona con tar.gz)

2 Me gusta