@nkmrshnさんの素晴らしいまとめ。Optionを使ってるコードとかまだ他で見たことないので素敵ですw
作成したLokkaプラグインのまとめ - nkmrshnの日記
- プラグインで使用するgemを、Gemfileと別にプラグイン側で管理する方法。(現状:Lokka本体のGemfileに書くしかない。)
- プラグインで使用するi18nのen/ja.yml。(現状:Lokka保体のen/ja.ymlに追記するしかない。)
- プラグインの読み込む順番。(現状:読み込む順番を設定できない。)
- プラグインの有効・無効。(現状:public/plugin/lokka-<プラグイン名>は全部有効。)
- プラグインのアップロード・削除機能。(現状:ターミナルのコマンドなどでプラグインファイルを追加・削除する必要がある。)
- public/admin/layout.hamlのdiv#aside(左側サイドメニュー)にプラグインのメニュー項目を追加。(現状:layout.hamlに追記するしかない。)
コメント欄に書いたらエラー?が出たのでココに書きます。(以下俺)
おおお、すばらしいまとめありがとうございます!
最後の6点は僕もどう本体を実装すべきか悩んでおります。
- C拡張を含むメジャーなgemは本体に同伴し、pluginで必要な(Pure Rubyの)gemはpluginに同伴してもらう?
- 頑張ればplugin毎のi18nを読み込める?拙作のdm-validations-i18nとあわせて対応できるか?r18nの利用を継続するか?
- railsのようにルールさえ明確ならば指定出来る必要は無い?
- DBで管理すれば可能だがWordPressであんまり必要性を感じてないので検討中。
- 実装方法が思いつかない・・・(基本WRITE出来ない環境を想定してるので現状でいいかも?)
- やり方を決めればいいだけなんですが、選択肢が有り過ぎてしっくりくる方法を思いついていない。文字列とリンクURLの構造体を持つ?xxxxx.{erb,haml,erubis}があったらそれを表示する?
という感じです。
やっぱりプラグインを書いてみた人本人でないとわからない点が沢山あるとおもいますので、「こうしたほうがいい」というところがあればお教えいただけると嬉しいです!