テーマを維持するための最適なワークフローは?

こんにちは、皆様。

既存のテーマに対する編集やカスタマイズを維持するための、推奨または最適な方法はどのようなものでしょうか?

例えば、@rewphus さんの素晴らしい Material Design Stock Theme を編集したいと考えています。これをフォークしてベースに作り込み、その後アップストリームから同期を取るという方法は有効でしょうか?

Git やリポジトリの概念を使用しない他のフォーラムソフトウェアでは、テーマのコピーをインストールし、その子テーマとして2番目のコピーをインストールして、編集は子テーマのみに限定するというのが一般的です。これにより、更新が入った際に親テーマを更新すれば済みます。

「いいね!」 1

基本的に同じことができます。独自のカスタムテーマコンポーネントを作成し、それをGitソースのベーステーマの子として追加します。これにより、Gitテーマを必要に応じて更新しても、コンポーネント内のカスタム作業に影響を与えることなく更新できます。

これが最も簡単な方法です。一部のCSSが重複する可能性がありますが、管理できないほどではありません。

テーマとコンポーネントの詳細: Beginner's guide to using Discourse Themes

「いいね!」 7

その記事を読んで、そのプロセスにすっかり夢中になりました。今年になるまで、自分の作業を整理するためにGitを本格的に使ったことはなかったと認めざるを得ませんが、このワークフローにはすっかりハマっています。

テーマコンポーネントを使うことも考えましたが、概念的には小規模なものだと考えていました。テーマコンポーネントはカラーSchemeを編集できるのでしょうか?その機能はテーマに限定されているように思えます。

昨日読んだときは遅かったので、そのドキュメントをもう一度読み返し、代わりにこれをテーマコンポーネントとして実装してみようと思います :)。

「いいね!」 2

そのような要件はありません。ベーステーマ全体をコピーしてコンポーネントに含めることは推奨しませんが(必要以上に多くのCSSを抱え込むことになるため)、オーバーライドは任意の数だけ追加できます。

直接編集はできませんが、新しいカラースケームを作成し、ベーステーマの設定からそのオプションを選択することは可能です。どのカラースケームもどのテーマにも適用できます(その効果はテーマの構築方法によって異なります)。

「いいね!」 6

なるほど、お忙しい中ご返信いただきありがとうございます。非常に参考になりました。

わかりました。


推奨ワークフロー


  • 変更したいテーマコンポーネントをフォークしてクローンする
  • Visual Studio Code (VSC) でクローンしたワークスペースを開く
  • テーマコンポーネントの編集とコーディングを楽しむ
  • VSC から変更を GitHub リポジトリにプッシュする
  • リポジトリから変更されたテーマコンポーネントをインストールする
  • テストする

これを繰り返す。


「いいね!」 3

このワークフローは問題ありませんが、必ずしもすぐにフォークに移行するのが適切とは限りません。特に、元のテーマが適切にメンテナンスされている場合です。フォークを行うと、Discourse の基盤となるアップデートでテーマが壊れた場合、自分で対処することになります。

「いいね!」 2