自分のサイトに GitHub の変更を適用する

@tophee が言ったように、プラグインは複雑である必要はありません。とてもシンプルなプラグインの例をもう一つ紹介します(これはサイトの設定で許可される最大値を増加させるものです): https://github.com/jomaxro/discourse-plugin-site-setting-override。


ソースコードを直接変更することがなぜ悪い考えなのか、個人的な経験から話させてください。Discourse で働く以前、私は Discourse を社内で利用している企業に勤めていました。その企業は Discourse を WordPress インストールと連携させていましたが、WP と Discourse を接続するために API を使う代わりに、Discourse にカスタムルートを追加することを決めました。その方法は、routes.rb ファイルをコピーし、新しいルートを追加してから、Discourse がアップデートするたびに routes.rb ファイルを上書きするというものでした。Discourse 側で新しいルートが追加されても、上書きされている変更済みの routes.rb ファイルによってそれらは「削除」されてしまいました。最終的にホームページのルートが変更され、アップデート時にそれを上書きしてしまったため、Discourse が頻繁にエラーを発生させるようになりました。

そのファイルが変更されたのは 2016 年半ばのことでした。エラーが発生し始めたのは 2017 年半ばです。エラーの原因を特定するのにほぼ 1 週間かかりました。私たちは「最近」何か发生了变化したのだと思い込んでいたため、1 年間触られていなかったものが原因だとは考えなかったからです。

要約: ファイルを直接変更しないでください。今日問題がなくても、予想もしない時に戻って襲いかかる可能性があります。