DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:devel:syntax_plugins

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ja:devel:syntax_plugins [2009-12-21 10:00]
130.158.152.134
ja:devel:syntax_plugins [2009-12-23 09:34] (現在)
wakuteka
ライン 1: ライン 1:
 ====== Syntax Plugins ====== ====== Syntax Plugins ======
  
-構文プラグインはDokuwikiの構文を拡張する為の[[:​plugins]]です。新しい構文をDokuwikiに登録するために何が必要かはを理解するには[[Parser]]の処理を理解してください。+構文プラグインはDokuwikiの構文を拡張する為の[[:ja:​plugins]]です。新しい構文をDokuwikiに登録するために何が必要かはを理解するには[[devel:Parser]]の処理を理解してください。
  
 自作の構文プラグインの為の詳細な情報は[[Syntax Plugins|syntax_tutorial]]を参照してください。 自作の構文プラグインの為の詳細な情報は[[Syntax Plugins|syntax_tutorial]]を参照してください。
ライン 13: ライン 13:
   * **''​getInfo()''​** プラグイン情報のハッシュを返す。 [author, email, date, name, desc, url]   * **''​getInfo()''​** プラグイン情報のハッシュを返す。 [author, email, date, name, desc, url]
   * **''​getType()''​** このプラグインのsyntax typeを返す。 ([[#​syntax_types|see below]])   * **''​getType()''​** このプラグインのsyntax typeを返す。 ([[#​syntax_types|see below]])
-  * **''​getSort()''​** Returns a number used to determine in which order modes are added, also see [[parser#​order_of_adding_modes_important|parser,​ order of adding modes]]+  * **''​getSort()''​** Returns a number used to determine in which order modes are added, also see [[parser#​order_of_adding_modes_important|parser,​ order of adding modes]] and [[parser:​getSort list]]
   * **''​connectTo($mode)''​** Doku_Parser_Modeを継承したメソッド ((''​inc/​parser/​parser.php''​で定義されています)). あなたの自作構文にマッチする正規表現はここで登録してください。   * **''​connectTo($mode)''​** Doku_Parser_Modeを継承したメソッド ((''​inc/​parser/​parser.php''​で定義されています)). あなたの自作構文にマッチする正規表現はここで登録してください。
   * **''​handle($match,​ $state, $pos, &​$handler)''​** rendererメソッドでマッチした構文を使うための準備処理。   * **''​handle($match,​ $state, $pos, &​$handler)''​** rendererメソッドでマッチした構文を使うための準備処理。
ライン 64: ライン 64:
 このチュートリアルの目的は[[:​DokuWiki]] [[syntax plugins|syntax plugin]]のコンセプトを説明し、自作プラグイン作成を段階的に追っていく事です。 このチュートリアルの目的は[[:​DokuWiki]] [[syntax plugins|syntax plugin]]のコンセプトを説明し、自作プラグイン作成を段階的に追っていく事です。
  
-すぐにでも作成を始めたい方は[[syntax plugin skeleton|Skeleton]]をコピーしてください。+すぐにでも作成を始めたい方は[[devel:​syntax_plugin_skeleton]]をコピーしてください。
 これはページに"''​%%<​TEST>​%%''"​を見つけたときに"//​Hello World!//"​を出力するシンプルなプラグインです。 これはページに"''​%%<​TEST>​%%''"​を見つけたときに"//​Hello World!//"​を出力するシンプルなプラグインです。
  
ライン 247: ライン 247:
 For now refer to [[devel:​toolbar]] For now refer to [[devel:​toolbar]]
  
-===== Writing Your Own Plugin ​=====+===== プラグインを自作するために ​=====
  
 Ok, so you have decided you want to extend Dokuwiki'​s syntax with your own plugin. ​ You have worked out what that syntax will be and how it should be rendered on the user's browser. ​ Now you need to write the plugin. Ok, so you have decided you want to extend Dokuwiki'​s syntax with your own plugin. ​ You have worked out what that syntax will be and how it should be rendered on the user's browser. ​ Now you need to write the plugin.
ライン 282: ライン 282:
 And that's our plugin finished. And that's our plugin finished.
  
-<code php>+<​code ​php syntax.php>
 <?php <?php
 /** /**
ライン 350: ライン 350:
 Again, all fairly straightforward - and here it is. Again, all fairly straightforward - and here it is.
  
-<code php>+<​code ​php syntax.php>
 <?php <?php
 /** /**
ライン 470: ライン 470:
  
 So I need to detect the head tag "<​color"​ "</​color"​ "<​box"​ "</​box"​ in the method "​render($mode,​ &​$renderer,​ $data)"​ to be able to generate different results. So I need to detect the head tag "<​color"​ "</​color"​ "<​box"​ "</​box"​ in the method "​render($mode,​ &​$renderer,​ $data)"​ to be able to generate different results.
-How I find out in "​render"​ if "​color"​ or "​box"​ is used :?:+How I find out in "​render"​ if "​color"​ or "​box"​ is used :?:G
ja/devel/syntax_plugins.1261386006.txt.gz · 最終更新: 2009-12-21 10:00 by 130.158.152.134