ja:devel:plugin_file_structure
プラグインのファイル構造
DokuWiki pluginクラスには、2つのファイル構造があります。これらの構造はプラグインのクラス名で決定されます。
<dokuwiki>/lib/plugins/<plugin name>/<plugin type>.php
プラグインのクラス名は<プラグイン型>_plugin_<プラグイン名>
となります。e.g. ファイル クラス <dokuwiki>/lib/plugins/acl/admin.php => admin_plugin_acl
<dokuwiki>/lib/plugins/<プラグイン名>/<プラグイン型>/<ファイル名>.php
この構造は一つのプラグイン型に複数のプラグインクラスを作成したいときに利用します。クラス名は、<プラグイン型>_plugin_<プラグイン名>_<ファイル名>
となります。e.g. ファイル プラグイン型 クラス <dokuwiki>/lib/plugins/code/syntax/code.php => syntax_plugin_code_code <dokuwiki>/lib/plugins/code/syntax/file.php => syntax_plugin_code_file
下線(アンダースコア、_)がプラグイン名の解釈に用いられていますから、プラグインの名前には下線を使ってはいけません。
プラグインは複数のプラグイン型を含んでいても構いません。また、それと同様に、複数の異なるプラグインクラスを含んでいても構いません。
加えて、プラグインはDokuWikiに組み込まれた共通したメカニズム(スタイルシートやJavaScriptの圧縮送出・多言語化・設定管理フォームの生成)を簡単に利用できます。
すべてのパスやファイルはプラグインルートディレクトリからの相対パスです。
<dokuwiki>/lib/plugins/<プラグイン名>/
style.css
– CSS プラグインのスタイルシートprint.css
– print CSS プラグインのprintメディア用スタイルシートscript.js
– JavaScript プラグインで使用されるJavaScriptコードlang/<言語>/lang.php
– 各言語用の文字列 (プラグイン内で$this→getLang()
で取得)lang/<言語>/settings.php
– configuration managerで使う各言語用の文字列lang/<言語>/<filename>.txt
– 各言語用のDokuWiki構文のテキストファイル (プラグイン内で$this→locale_xhml()
で取得できる。)conf/default.php
– default settings ($this→getConf()
で取得できる。設定が変更されると、DokuWikiのグローバル設定、<dokuwiki>/conf/local.php
に自動的に追加される。)conf/metadata.php
– configuration metadata はconfiguration managerで使用される設定で、設定値の種類を指定する。これにより、管理画面でのテキストボックス/チェックボックス/プルダウンメニューなどのフォームが自動的に選択されて生成される。
最初に新しいプラグインのファイル構造を作るには、DokuWiki Plugin Wizardというウェブサイトを使うことをおすすめします。
複数のJavaScriptファイルを組み込むには?
そのために、DokuWikiは特別なinclude syntaxという構文を用意しています。コメント文を使うことによって他のソースファイルを指定して組み込むことができます。
複数のCSSファイルを組み込むには?
CSSファイルは一つにまとめて下さい。
Disabled plugins
プラグインはpluginsディレクトリに配置するだけでインストールされますが、特定のプラグインを不使用に(disable)することもできます。そのためには、不使用にしたいプラグインのディレクトリ内にdisabled
という空のファイル1)を作成して下さい。
1)
touch disabledするなどして
ja/devel/plugin_file_structure.txt · 最終更新: 2010-12-13 18:49 by andi