FrontPage  Index  Search  Changes  Atom  PageRank  Login

Hikidashi - Hiki on Rack - 01spのAPI Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

plugin/01sp.rbのAPI。spはselect pluginsの略かな?

自作プラグインの中から呼べる(筈)。

{{toc_here}}

! メソッド等
:SP_PREFIX:定数。このプラグイン用の接頭辞。値は'sp'。
:@sp_path:インスタンス変数。プラグインを入れているディレクトリーのパス。
:sp_option( key ):このプラグイン用に保存してある設定を読み出すメソッド。keyとしては'selected'、'notselected'、'usenew'が使われている。
:sp_hash_from_dirs( dirs ):dirs内の*.rbファイル一覧を作って返す。戻り値は{filename => path, filename => path, ...}という形のハッシュ。filenameがファイルのベースネームで、pathはパス。
:sp_doc_url( file ):fileと言う名前のプラグインの説明ページのURIを返す。詰まりHiki公式サイトの解説ページのURI。
:collect_plugins( sp_opt ):ファイル名の配列を三つ返す、つまり[used, notused, unknown]を返す。順に使用中のプラグイン一覧、休憩中のプラグイン一覧、初めて見る(新着)プラグイン一覧で、ファイルのベース名の一覧になっている。引数sp_optにはsp_hash_from_dirsの戻り値を渡してやればいい。
:sp_li_plugins( paths, with_checkbox, is_checked ):pathsに指定されたファイルの一覧を<li>...</li>の数珠つなぎとして返す。with_checkboxはファイル名の左にファイル選択用のチェックボックスを配置するかどうかで、true/falseとして判定される。is_checkedはそのチェックボックスをチェック済みにするか否かで、やはりtrue/falseとして判定される。つまりpathsに入っているすべてのプラグインがis_checkedかどうかが、まとめて扱われるということ。
:sp_list_plugins( sp_opt, with_checkbox ):新着、使用中、休憩中のプラグイン一覧を、<ul>(新着一覧)</ul><ul>(使用中一覧)</ul><ul>(休憩中一覧)</ul>のHTML文字列として返す。sp_optにはsp_hash_from_dirsの戻り値を渡せばいい。with_checkboxはファイル名の左にプラグイン選択用のチェックボックスかどうかで、true/falseとして判定される。
:show_plugins:show_pluginsプラグインの実装。misc/plugin/show_plugins.rbでは、このメソッドを有効化しているだけ。

! 保存
有効化するプラグインは@conf["#{SP_PREFIX}.selected"]に、無効化するプラグインは@conf["#{SP_PREFIX}.notselected"]に保存する。保存する形は、ファイル名+"\n"を繋いだ物。