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