DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:devel:plugin_file_structure

プラグインのファイル構造

DokuWiki pluginクラスには、2つのファイル構造があります。これらの構造はプラグインのクラス名で決定されます。

  1. <dokuwiki>/lib/plugins/<plugin name>/<plugin type>.php
    プラグインのクラス名は<プラグイン型>_plugin_<プラグイン名>となります。
    e.g. ファイル                                   クラス
         <dokuwiki>/lib/plugins/acl/admin.php  => admin_plugin_acl


  2. <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.cssCSS プラグインのスタイルシート
    • print.css – print CSS プラグインのprintメディア用スタイルシート
    • script.jsJavaScript プラグインで使用されるJavaScriptコード
    • lang/<言語>/lang.php – 各言語用の文字列 (プラグイン内で$this→getLang()で取得)
    • lang/<言語>/settings.phpconfiguration managerで使う各言語用の文字列
    • lang/<言語>/<filename>.txt – 各言語用のDokuWiki構文のテキストファイル (プラグイン内で $this→locale_xhml() で取得できる。)
    • conf/default.phpdefault settings ($this→getConf()で取得できる。設定が変更されると、DokuWikiのグローバル設定、<dokuwiki>/conf/local.phpに自動的に追加される。)
    • conf/metadata.phpconfiguration metadataconfiguration 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

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki