長らく、Discourse にリモート Git リポジトリからインストールされたテーマをローカルで編集しないことがベストプラクティスとされてきました。テーマのコードやアップロードされたファイルに対する変更は、リモートリポジトリからテーマを更新する際に上書きされてしまいます。
今回のコミットでは、リモートテーマのローカル編集機能を削除し、Discourse 内でこのベストプラクティスを強制するように変更しました。
リモートテーマにローカルの変更がある場合、どうなりますか?
現時点では何も変わりません。テーマを削除するか、リモートから更新するまで、現在の状態のまま維持されます。
ローカルの変更を維持するには?
CSS のみの変更の場合:
CSS のみの変更を、新しいローカルテーマコンポーネントにコピーできます。手順は以下の通りです:
- Install をクリックします。
- Create new をクリックします。
- 右側のペインにある Edit ボタンをクリックします。
- CSS の変更を適切なファイル(common / mobile / desktop)にコピーします。
- 保存してテーマコンポーネントを有効化します。
- 重複する CSS を避けるため、リモートテーマを更新してローカルの変更を上書きします。
CSS 以外(JS/テンプレート)を変更した場合:
ローカルの変更を維持したい場合は、テーマをローカルテーマに移行することをお勧めします。手順は以下の通りです:
- 管理画面の [Customize] 下でテーマを開きます。
- Export をクリックして、ローカルの変更を含んだテーマをダウンロードします。
- テーマリストの下の Install をクリックし、
From your deviceを選択します。 - エクスポートしたテーマをアップロードし、以前と同様にインストールして有効化します。
興味のある方にとっての別の選択肢として、GitHub でリモートテーマをフォークし、フォークしたリポジトリに変更をコミットしてから、Discourse インスタンスにそのフォークをインストールする方法もあります。これにより、メインリポジトリの将来の更新に対して変更をリベースするオプションが可能になります(ローカルテーマへの変換では提供されない機能です)。
最後に、将来の変更の重複や混乱を防ぐため、リモートテーマを必ず削除してください。