DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:devel:plugins

プラグインの開発

DokuWikiのプラグインを書くことはとても簡単です。 自分自身で書く前に、既存のプラグインに似たプラグインがないか探し、プラグイン開発者のためのセキュリティガイドラインを読むことを忘れないで下さい。

DokuWikiには、開発者による機能拡張が可能な柔軟なプラグインAPIがあります。 追加された整形記法モード、カスタム化した動作モード、新しいエクスポートモード、等々が可能です。 プラグインの目的によって、以下のプラグインタイプの1つまたは複数の構成要素からプラグインは成り立っています。

プラグインタイプ

現在、DokuWiki には 5 種類のプラグインタイプがあります。

color プラグインのような単純なプラグインは、単一ファイル syntax.php で成り立っています。 より高度なプラグインは、複数のコンポーネントで構成されます。 例えば構造化データプラグインには、“data entry” “table view” 部品に分割した構文処理、全データ入力に添付される特別な編集ボタンの動作部品、データベース維持管理のための管理画面があります。

情報源

プラグイン開発には多くの情報源があります:

プラグイン名

有効なプラグイン名:

  • a-z 0-9 の文字だけであること
  • アンダースコアは認められません:
    • <component name> から <plugin name> を区切るのに使用されている。
    • アンダースコアを使用すると 利用状況の数字が 0 になります。
  • 別のプラグインが同名を使用した場合、
    • 相互に除外し合い、互換性がなくなります。
    • どちらか一方のみしか dokuwiki.org のプラグインホームページを持てません。

プラグインウィザード

http://pluginwizard.dokuwiki.org/ にDokuWiki プラグイン用の基本的な骨組みを作成するウィザードがあります。 開発を開始時には、このウィザードを使用することを推奨します

プラグインを拡張する必要がある場合、プラグイン内のファイル配置方法についてプラグインのファイル構造を参照して下さい。

dokuwiki.org でのプラグイン公開

プラグインを作成したら、コミュニティーと共有して下さい。 plugin 名前空間内に、プラグインにちなんだ名前のページを作成するだけです。 例えば、プラグインフォルダーが sample という名前の場合、wiki に plugin:sample という名前のページを作成して下さい。

ページにはインストール方法・使用方法・インストール前に実施すべきことのような必要な文書が全て含まれているべきです。 スクリーンショットを追加するのも良いでしょう1)プラグインホームページのテンプレートには、ユーザーに役立つページを作成する方法に関して多くのヒントが含まれています。

プラグインページの上部のいくつかのメタデータフィールドは必須項目です。 各フィールドの説明は、リポジトリプラグインのページにあります。

dokuwiki.org ではファイルアップロードを認めていません。 プラグインファイルは、どこか別の場所で管理する必要があります。 Git リポジトリのようなリビジョン管理システムを使用してソースを管理することをお勧めします。 その場合、リポジトリのバグトラッカーを提供している Github のような公開リポジトリホストを利用するのが最も簡単です。

プラグイン調査の概要

プラグイン調査は、www.dokuwiki.org の plugin 名前空間にある全プラグインに関する、開発者向けの概況です。 自動化されたスクリプトによって 2010-09-05 に収集したデータと、ダウンロードと採掘に関する追加の手動データを基にしています。 全 697 ページには、672 個のプラグインが含まれ、647 プラグイン(96%)のソースコードがダウンロード、解析されました。

1)
imageshack プラグインを利用して、ここに画像を追加できます
ja/devel/plugins.txt · 最終更新: 2014-03-11 16:38 by 125.55.214.60

特に明示されていない限り、本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