mcmcclur
(Mark McClure)
1
小規模なセルフホスト型Discourseサイトを、標準のDockerインストールで構築しました。長年にわたり、containers/app.ymlファイルの末尾にあるフックを編集してプラグインリポジトリをgit cloneすることで、多数のプラグインをインストールしてきました。また、プラグイン開発も少し行いました。
しかし、数か月前、多くの標準プラグインがDiscourseコアに統合されました。仮に、Discourseリポジトリ全体をフォークし、それらのプラグインの1つ(例:discourse-math)を編集し、ローカル開発環境で変更がうまく機能するようになったとします。この新しいプラグインを本番のDiscourseインスタンスに組み込む手順は何でしょうか?
ついでに聞きますが、公式プラグインをフォークする必要があるのはなぜですか?
いずれにせよ、app.yml で特定のプラグインディレクトリを削除してから、どうしても必要な場合は独自のものをクローンするためのコマンドを実行できます。たとえば、次のようになります。
<in after_code: somewhere >
- exec:
cd: $home/plugins
cmd:
- rm -r poll
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/myaccount/myplugin-replacement.git
次のようにできるかもしれませんが、確認してください。
<in after_code: somewhere >
- exec:
cd: $home/plugins
cmd:
- rm -r poll
- git clone https://github.com/myaccount/myplugin-replacement.git
スペースにはそれほど注意を払っていません。インデントが完璧であることを確認してください。
「いいね!」 2
mcmcclur
(Mark McClure)
3
なぜなら、discourse-math プラグインで使用されている古いバージョンの MathJax を更新したいと考えているからです。
わかりました。不足しているのはこの行のようです。
cmd:
- rm -r poll
ただし、poll が何であるかを明確にしてください。競合(現在発生していると思われるもの)を防ぐために、古い discourse-math ディレクトリを削除すべきだと思います。つまり、次のようなものです。
cmd:
- -r plugins/discourse-math
これは、やみくもに実行するのに適したコマンドではなさそうですね。
間違いをしても構いません、もししたら再構築すればいいのです。
私の例はpollプラグインを使ったものです。
プラグインのディレクトリを繰り返さないでください。
「いいね!」 2
mcmcclur
(Mark McClure)
5
@merefield ちなみに、私のフロントページのこのアニメーションがお好きかもしれません: https://discourse.marksmath.org/
作成の過程で、あなたのコードをいくつか使用しました。
「いいね!」 1
ハ、いいね、これでユーザーカードにクリックを追加して!
「いいね!」 2
mcmcclur
(Mark McClure)
7
これでうまくいきました、@merefield さん。本当にありがとうございます!!!
「いいね!」 1
それは、公式プラグインにとって pr-welcome の変更かもしれません。もし、プラグインに依存しているすべての人の利益のために、あなたがそれに挑戦することに興味があるなら、提案するために Feature トピックを開始してください。
「いいね!」 3