プログラムでテーマをインストールする

app.yml を通じてテーマをインストールする場合は、以下の形式を使用してください。

run:
  - exec: echo "Beginning of custom commands"

  - 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 "End of custom commands"

YAML 形式のオプション

YAML ファイルは、URL のみの短縮形式と、追加オプションを含む長形式の両方をサポートしています。

# 短縮形式 - URL のみ
theme_name: https://github.com/example/theme.git

# 長形式 - オプション付き
theme_name:
  url: https://github.com/example/theme_name.git
  branch: "main"
  private_key: ""
  default: false
  add_to_all_themes: false
  skip_update: false
オプション 説明
url (必須) Git リポジトリの URL
branch 使用する Git ブランチ(リポジトリのデフォルトブランチが既定値)
private_key プライベートリポジトリ用の SSH 秘密鍵
default デフォルトテーマとして設定(ブール値)
add_to_all_themes コンポーネント専用 — すべてのテーマにインストール(ブール値)
skip_update テーマがすでにインストールされている場合、更新をスキップ(ブール値)

アーカイブからのインストール

ローカルの .zip または .tar.gz アーカイブからテーマをインストールすることもできます。

THEME_ARCHIVE=/path/to/theme.zip bundle exec rake themes:install:archive

含まれるコンポーネントの更新をスキップするには、UPDATE_COMPONENTS=0 を設定してください。

「いいね!」 12

ああ、これが可能でとても嬉しいです…マルチサイトインスタンス全体でテーマを読み込む方法を探していましたが、これが最も簡単な方法かもしれません。ありがとうございます!

「いいね!」 2

ローカルデバイスからzipファイルでテーマをインポートするプログラムによる方法を探している人が他にいる場合:

export THEME_ARCHIVE=<abolute-path-to-file>
bundle exec rake themes:install:archive

または

THEME_ARCHIVE=<abolute-path-to-file> bundle exec rake themes:install:archive

が役立ちます。

「いいね!」 6

(tar.gzにも対応)

「いいね!」 2