このプラグンは、おそらく地球上で「Discourse にとって最もシンプル(しかし有用な)プラグインの 1 つ」かもしれません(少なくとも私にとってはそうです :))。
基本的には、この投稿で説明した理由により、今朝このプラグインを作成してテストし、以下のことを実現しました:
- Discourse プラグイン内で Ruby モジュールをオーバーライドすることがいかに簡単かを示す。
- ここで説明した理由により、Discourse インスタンスからすべてのcanonicalリンクを削除する。
Discourse サイトの大多数は、このプラグインを使う理由がまったくないことは理解しています。しかし、そのシンプルさは、Discourse プラグイン開発の初心者にとって、Ruby モジュール内のメソッドを(Discourse プラグイン経由で)オーバーライドして、同様のシステム管理タスクを実行することがいかに簡単かを理解する助けになります。
正直に言うと、私は数ヶ月間 Ruby、Rails、そして Discourse プラグインの学習に取り組んでおり、Github 上のほぼすべての Discourse プラグインと meta 上のすべてのプラグインチュートリアルを読んだと感じています。
最近、私にとって最も役立ったのは、Ruby の基本に戻り、Ruby 開発者が知るべき基本概念を学ぶことです。Discourse を使う前には Ruby を使ったことがありませんでしたが、今では Ruby をとても好きになり始めています。
ここでは、他の初心者のプラグイン開発者にも喜んでもらえることを願って、このシンプルなプラグインを紹介します。
![]()
とてもシンプルなので、あまり笑わないでください!![]()
余談ですが:シンプルさを保つため、オン/オフ切り替えの設定を意図的に作成していません。主に、簡単なタスクを達成するためにモジュールをオーバーライドすることがいかに簡単かを示したかったので、他のプラグイン初心者が私の「ステップバイステップ」な Ruby 基礎学習から恩恵を受けられることを願っています。