こんにちは、皆様。
既存のテーマに対する編集やカスタマイズを維持するための、推奨または最適な方法はどのようなものでしょうか?
例えば、@rewphus さんの素晴らしい Material Design Stock Theme を編集したいと考えています。これをフォークしてベースに作り込み、その後アップストリームから同期を取るという方法は有効でしょうか?
Git やリポジトリの概念を使用しない他のフォーラムソフトウェアでは、テーマのコピーをインストールし、その子テーマとして2番目のコピーをインストールして、編集は子テーマのみに限定するというのが一般的です。これにより、更新が入った際に親テーマを更新すれば済みます。
「いいね!」 1
基本的に同じことができます。独自のカスタムテーマコンポーネントを作成し、それをGitソースのベーステーマの子として追加します。これにより、Gitテーマを必要に応じて更新しても、コンポーネント内のカスタム作業に影響を与えることなく更新できます。
これが最も簡単な方法です。一部のCSSが重複する可能性がありますが、管理できないほどではありません。
テーマとコンポーネントの詳細: Beginner's guide to using Discourse Themes
「いいね!」 7
その記事を読んで、そのプロセスにすっかり夢中になりました。今年になるまで、自分の作業を整理するためにGitを本格的に使ったことはなかったと認めざるを得ませんが、このワークフローにはすっかりハマっています。
テーマコンポーネントを使うことも考えましたが、概念的には小規模なものだと考えていました。テーマコンポーネントはカラーSchemeを編集できるのでしょうか?その機能はテーマに限定されているように思えます。
昨日読んだときは遅かったので、そのドキュメントをもう一度読み返し、代わりにこれをテーマコンポーネントとして実装してみようと思います :)。
「いいね!」 2
そのような要件はありません。ベーステーマ全体をコピーしてコンポーネントに含めることは推奨しませんが(必要以上に多くのCSSを抱え込むことになるため)、オーバーライドは任意の数だけ追加できます。
直接編集はできませんが、新しいカラースケームを作成し、ベーステーマの設定からそのオプションを選択することは可能です。どのカラースケームもどのテーマにも適用できます(その効果はテーマの構築方法によって異なります)。
「いいね!」 6
なるほど、お忙しい中ご返信いただきありがとうございます。非常に参考になりました。
わかりました。
このワークフローは問題ありませんが、必ずしもすぐにフォークに移行するのが適切とは限りません。特に、元のテーマが適切にメンテナンスされている場合です。フォークを行うと、Discourse の基盤となるアップデートでテーマが壊れた場合、自分で対処することになります。
「いいね!」 2