Thema programmatisch installieren

Wenn Sie Themes über Ihre app.yml installieren möchten, verwenden Sie das folgende Format:

run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"

  - 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 "Ende der benutzerdefinierten Befehle"

YAML-Formatoptionen

Die YAML-Datei unterstützt ein Kurzformat (nur URL) und ein Langformat mit zusätzlichen Optionen:

# Kurzformat – nur die URL
theme_name: https://github.com/example/theme.git

# Langformat – mit Optionen
theme_name:
  url: https://github.com/example/theme_name.git
  branch: "main"
  private_key: ""
  default: false
  add_to_all_themes: false
  skip_update: false
Option Beschreibung
url (erforderlich) Die Git-Repository-URL
branch Zu verwendender Git-Zweig (standardmäßig der Standardzweig des Repos)
private_key SSH-Privatschlüssel für private Repositories
default Als Standard-Theme festlegen (Boolean)
add_to_all_themes Nur für Komponenten – auf jedem Theme installieren (Boolean)
skip_update Update überspringen, wenn das Theme bereits installiert ist (Boolean)

Installation aus einem Archiv

Sie können ein Theme auch aus einem lokalen .zip- oder .tar.gz-Archiv installieren:

THEME_ARCHIVE=/pfad/zum/theme.zip bundle exec rake themes:install:archive

Setzen Sie UPDATE_COMPONENTS=0, um das Aktualisieren enthaltener Komponenten zu überspringen.

12 „Gefällt mir“

Oh, ich bin so froh, dass das möglich ist… Ich habe nach einer Möglichkeit gesucht, Themes über eine Multisite-Instanz zu laden, und das ist vielleicht der einfachste Weg. Danke!

2 „Gefällt mir“

Wenn jemand anderes nach einer programmatischen Möglichkeit sucht, ein Theme von einem lokalen Gerät mit einer ZIP-Datei zu importieren:

export THEME_ARCHIVE=<absoluter-Pfad-zur-Datei> 
bundle exec rake themes:install:archive

oder

THEME_ARCHIVE=<absoluter-Pfad-zur-Datei> bundle exec rake themes:install:archive

ist dein Freund.

6 „Gefällt mir“

(funktioniert auch mit tar.gz)

2 „Gefällt mir“