** mypluglist.inc.php [#z4a5a318]
|RIGHT:100|LEFT:360|c
|~サマリ|プラグイン一覧と情報収集の自動化|
|~リビジョン|1.3|
|~リビジョン|1.8|
|~対応バージョン|1.4.7|
|~投稿者|[[token]]|
|~投稿日|&new{2007-10-09 (火) 12:20:51};|

#contents
**基本情報 [#qdf35fd9]
:プラグイン名|
mypluglist

:書式|
 #mypluglist

:概要|
標準プラグイン以外で追加したプラグインを別ページでリスト化したいと思って作りました。というより、他人のpukiwikiで利用されてるプラグインが気になってしまうので、もしこういうページが別途用意されていたら嬉しいなあと思った事が始まりです。versionlist.inc.phpを参考にしてソース中の説明文を取り出して一覧に追記するようにしています。今のところ、以下のフォーマットに対応させてます。
自作プラグインからのみ((プラグインヘルプに載っているpukiwiki付属のプラグインを除く))、docコメント((リビジョンや使用法、コピーライト、ソース取得元))を読み取って、一覧にします。一覧は動的生成ではなく、通常のページとして書き込まれるので、参照時の負荷が少なくなっています。

-ちなみに、読み取り範囲は一番最初のブロックコメントに限っていますので、fuctionやmethodにphpDocumenterコメントを入れても無視してくれます。-- 2007-10-11 [[token]]
-[[SONOTS PluginDev/Class:http://lsx.sourceforge.jp/?PluginDev%2FClass]]を参考に、クラス変数版に書き直しました。また、メールアドレスの表示可否は、ソースに依存する事にしましたので、プラグイン側で制御するのを止めました。 -- &color(red){2007-11-08 (木) 16:30:31}; [[token]]
-@categoryは未だに意味が怪しいですが、他の部分はfixした感じです。 -- 2007-10-12 [[token]]
--書式について
---@tutorialの後ろではなく、#や&で始まるコメントを取り出す形に変えました。
---空行を無視するようにしました。
--バージョン、ライセンスについて
---$Id$が無くても表示するようにしました。
---ライセンス参照用のURLが無くても表示するようにしました。
--キーワード全般
---キーワードの前後にスペースが2個以上あっても認識するようにしました。
--注意
---コメントにpukiwiki文法は使えません。
---ブロックコメントは各行頭に*が必要です。
---&color(red){phpDocumenterに読ませる予定なら、};~
&color(red){ソースを関数型からクラス型に書き換えないと、};~
&color(red){apidocの表示が不自然になります。-- 2007-11-08 (木) 12:57:22 token};
--TODO
---ブロックコメントやドックコメントが無い場合は無視するように。
---管理者だけ実行できるようにする。
---%%ひょっとすると、emailの表示非表示のオプションは不要かもしれない。%%除去しました
---それよりも、詳細か単純かを変えられれば良いかもしれない。
---$Id$がある場合、CVSとSVNの書式を読み分けないといけない。
---revisionとversionを区別した方が良いかもしれない。~
バージョン管理の上の$Id$はrevision扱いなので、~
利用者側に立つとリリースバージョンとはまた違う意味になりますね。~
全ての情報をソースファイルに詰め込むのは難しいなと思います。
:参考|
versionlist.inc.php~
[[SONOTS PluginDev/Class:http://lsx.sourceforge.jp/?PluginDev%2FClass]]~
see: [[phpDocumenter tag manual:http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html]]

-see: [[phpDocumenter tag manual:http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html]]
 <?php
 /** 
  * プラグインリスト一覧
  * ダラダラ2行目
  * ダラダラ3行目
  * ダラダラ4行目
  * #mypluglist((SHOW_EMAIL=FALSE))
  * &mypluglist((DUMMY))
  * @example http://wiki.positrium.org/index.php?plugin=mypluglist
  * @param boolean SHOW_EMAIL 著作者表示に併せてメールアドレスを表示する
  * @param n/a DUMMY ダミーパラメータ
  * @version $Id: mypluglist.inc.php 38 2007-10-09 03:16:28Z token $
  * @tutorial http://pukiwiki.sourceforge.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fmypluglist.inc.php
  * @author token <token7{at}gmail{dot}com>
  * @license http://www.gnu.org/licenses/gpl.ja.html GPL
  * @copyright Copyright &copy; 2007, positrium.org
  * @category 1.4.7+
  * 
  * $HeadURL: http://opensvn.csie.org/positrium/trunk/mypluglist.inc.php $
  */
出力サンプル(email表示OFF時)は次のようなものです~
-----
**mypluglist.inc.php [#xead29bb]
:概要|プラグインリスト一覧~
ダラダラ2行目~
ダラダラ3行目~
ダラダラ4行目~
:依存|
[[Config2:http://lab01.positrium.org/index.php?doc%2Fplugindev%2Fuse_config2]]

:書式([[see tutorial:http://pukiwiki.sourceforge.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fmypluglist.inc.php]])|
 #mypluglist((SHOW_EMAIL=FALSE))
 &mypluglist((DUMMY))
:引数|boolean ''SHOW_EMAIL'' -- 著作者表示に併せてメールアドレスを表示する~
n/a ''DUMMY'' -- ダミーパラメータ~
**読み取り範囲 [#g07b4e84]
ファイル先頭のdocコメントに限定しています。その為、fuctionやmethodにキーワードを入れても無視されますし、だたのブロックコメントも無視します。

:動作サンプル|http://wiki.positrium.org/index.php?plugin=mypluglist
**phpDocumentorとの互換性 [#xf48e9f2]
頻出キーワードは意味レベルでの互換性がありますが、比較的使われにくいキーワードは予約キーワード扱いにしてしまっています。@category等の意味合いがphpDocumentorと違っているのはその為です。

:バージョン|38 2007-10-09 03:16:28Z token( [[source:http://opensvn.csie.org/positrium/trunk/mypluglist.inc.php]] )
**コメントの書式について [#o0b3dc16]
***プラグイン呼び出し例(usage)について [#fa85f51f]
#や&amp;で始まるコメントを呼び出し例に使います。

:著作者| token 
***バージョン、ライセンス、ヘッドURLについて [#ea587d54]
-$Id$が無くても表示します。
-[[ライセンス参照用のURL:http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.license.pkg.html]]が無くても表示します。
-$HeadURL$が無いとソース取得元が表示出来ません。

:著作権表示|Copyright &amp;copy; 2007, positrium.org
***注意、その他 [#te9b2a30]
-キーワードの前後にスペースが2個以上あっても認識します。
-空行は無視します。
-コメントにpukiwiki文法は使えません。
-コメントは各行頭に*が必要です。

:ライセンス|[[GPL:http://www.gnu.org/licenses/gpl.ja.html]]
***記入例 [#d8c43c4a]

:対応バージョン|1.4.7+
 /** 
 * 説明
 * #hoge([foo][,bar,...]) 説明
 * &hoge(); 説明
 * @example サンプル用URL
 * @param type 説明の中の変数名 変数の説明
 * @version $Id$
 * @tutorial 詳細説明用URL
 * @author 著者
 * @license http://www.gnu.org/licenses/gpl.ja.html GPL
 * @copyright 著作権表記
 * $HeadURL$
 * @uses モジュール名 モジュールが取得可能なURL
 * @package パッケージ名(プラグインはpluginが妥当)
 * @subpackage サブパッケージ名(種別を書くといいんだけど、今のところ範囲が無い)
 */

----
:オプション|
%%SHOW_EMAIL -- 著作者表示に併せてメールアドレスを表示します。指定方法は、引用符なしでTRUEかFALSE(小文字を入れてもupperしています。)。初期値はFALSEです。%% ver1.3から廃止。
***動作サンプル [#g972fb6a]
[[lab01.positrium.org:http://lab01.positrium.org/index.php?PukiWiki%2F1.4%2FManual%2Faddons]]

:内部オプション|
ALT_PLUGIN_DIR(プラグインディレクトリを指定する) -- 初期値はalt_pluginと書いてます。標準プラグインディレクトリと同じ階層にあるalt_pluginディレクトリを指す事を想定しています。
**利用者が他に出来る事 [#le6010e5]
:config/plugin/mypluglistに無視したいプラグインファイル名を書く事によって出力を任意に抑制できます。

また、このリストを自動生成するにあたって、&color(red){本家には提出していない[[Config2:http://lab01.positrium.org/index.php?doc%2Fplugindev%2Fuse_config2]]に依存しています。};


**履歴 [#z13d02d7]
|~''rev''|~''説明''|h
|v1.8|* いくつか可読フォーマットに変更を加えた。&br;* @packageを有効にした。&br;* @subpackageを有効にした。&br;* @tutorialの代わりに@linkを使えるようにした。&br;* 項目「書式」のフォーマットを変更した。⇒&amp;hoge(@foo)[半角スペース]説明。これによって、出力側の見せ方も変更。要注意は、[半角スペース]がセパレータ扱い。&br;* @tutorialがhttp://で始まらない場合は、出力を抑制するように変更した。&br;* @categoryは無効にした。&br;* @usesを有効にした。⇒module[半角スペース]source_url のフォーマットが有効。&br;* action()を止め、convert()だけで実装。&br;* inline()の改造基盤を作成してある。|
|v1.5|* 別ディレクトリではなく標準プラグインディレクトリを参照。&br();* また、内容物を標準プラグインリストと比較して、一致しなかったものだけをリストアップする形に。&br();* :config/plugin/mypluglistの自動生成に絡んで依存性が一つ増えました。本家には提出していない[[Config2:http://lab01.positrium.org/index.php?doc%2Fplugindev%2Fuse_config2]]に依存しています。&br();* :config/plugin/mypluglistに無視したいプラグインファイル名を書く事によって出力を任意に抑制できます。|
|v1.3|Eメール表示をoff|

**ダウンロード [#g1996827]
[[配布ページ(tags):http://svn.sourceforge.jp/svnroot/positrail/tags/mypluglist/]]からどうぞ。
[[配布ページ(tags):http://svn.sourceforge.jp/svnroot/positrail/tags/mypluglist/]]からどうぞ。上記の履歴の注意書きを読んでください。



**インストール [#v1410a74]
標準プラグインディレクトリに配置するだけです。

**ライセンス [#kb3504e1]
[[GNU General Public License(GPL):http://opensource.org/licenses/gpl-license.php]]

**動作サンプル [#g972fb6a]
[[wiki.positrium.org:http://wiki.positrium.org/index.php?pukiwikiplugins_mypluglist]]

**コメント [#xe889cfd]
-[[コメントはこちらへ:http://d.hatena.ne.jp/token/20071009/1191901618]]
#pcomment(reply)

**投票 [#m980f88d]
簡易表示するなら何を残したいですか?
#vote(概要[2],書式[1],引数[1],動作サンプル[0],バージョン[0],著作権[0],著作権表示[0],ライセンス[0],対応バージョン[0],依存性[0])

**バグトラック [#ne80af23]
-http://lab01.positrium.org/#n4c9be9a

** 関連 [#w2115b6a]
- [[dev:BugTrack/149]]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.096 sec.

OSDN