Manual:ウィキ マークアップの拡張
MediaWiki は簡単にカスタマイズできる標準的なテキスト マークアップを提供します。小規模と大規模の両方のカスタマイズができます:
- 標準的なトークン タイプを追加する: MediaWiki のマークアップをカスタマイズする標準的な方法は組み込みのMediaWiki のXML タグ (
<タグ>
) や テンプレート ({{...}}
)、またはリンク マークアップの([[...]]
)のような新しいマークアップを追加することです。 - カスタム トークン タイプを追加する: 拡張機能の中には新しいトークン タイプを定義するものがあります。
- パーサーへの根本的な変更: わずかな拡張機能が標準的なウィキ マークアップの代わりに他のある程度のウィキからのマークアップとコンテンツ管理が使用できるように (使用しなければならないように?) 構文解析戦略を根本的に変更することを試みています。
標準的なトークン タイプに追加する
- パーサー関数の拡張機能 : パーサー関数拡張機能はパラメーター化されたテンプレート処理を拡張したもので、典型的には以下のような外観です:
{{#関数名 ...}}
。 あらゆる「テンプレート名」を使用できますが、上記の例のように、カスタム拡張機能は常に # を伴う関数名で始まります。 他のパーサー関数名は MediaWiki コアが使用するために予約されています。{{#関数名 ...}}
がパーサー関数として実装された場合、テンプレート パラメーターは、通常のテンプレート記事ではなく PHP 関数に渡されます。 この関数はパラメーター化されたテンプレートを置き換えるウィキテキストの文字列を返します。 パーサー関数は、通常のテンプレート記述テクニックを使用するには複雑過ぎるまたは混乱を招くロジックを含むウィキテキスト生成を取り扱うために使用されます。 - 変数の拡張機能 : 変数拡張機能はパラメーターのないテンプレート処理を拡張します。
通常の記事の参照読み込みの代わりに、{{XXX}}
はそれを置き換えるウィキテキストの文字列を返す PHP 関数に関連付けられます。 それらは通常システム情報をウィキ マークアップに差し込むために使用されます (例: 現在の日時、現在のページ)。 - XML マークアップの拡張機能 : XML マークアップ拡張機能 (別名、タグ拡張機能) は、ウィキテキストで使用できるカスタムの XML スタイルのタグを定義します: タグ間のテキストはタグの内容を解析してタグとテキストを置き換える HTML 文字列を返す PHP 関数に渡されます。 タグ内部の内容はウィキ マークアップ、ストレートなテキスト、タグに特有の整形ルールを伴うテキストかもしれません。 拡張機能の実装者次第です。 個別の拡張機能の説明文書を確認してください。
<tagname parname="parvalue" ... parname="parvalue"> some text </tagname>
- リンクマークアップの拡張機能 : リンク マークアップ拡張機能は MediaWiki が内部リンクを解釈する方法を変更します、すなわち、[[...]] 形式のウィキ マークアップです。
- Extended syntax extensions : Extended syntax extensions, mostly Magic Word extensions, add to the list of MediaWiki Magic Words, such as
__NOTOC__
. Usually, a specific PHP function interprets these words, and either replaces them with something, or sets some conditions for later processing during output generation, or both. Most usually, the replacement is the empty string; that is, the Magic Word is deleted, and nothing is shown in its place. Altered processing may involve addition of an extra piece of CSS, or suppression of user preference settings during page generation, and can be almost anything.
新しいトークン タイプを追加する
新しいトークン タイプを追加するまたは全体のマークアップ戦略を変更するには、実装者はさまざまなパーサーとページ出力フックのうちの1つ以上に関数を追加する必要があります:
- Category:ParserBeforeStrip extensions は ParserBeforeStrip フックに依存しています。 (1.36 で除去)
- Category:ParserBeforeInternalParse extensions は ParserBeforeInternalParse フックに依存しています。
- Category:OutputPageBeforeHTML extensions は OutputPageBeforeHTML フックに依存しています。
- Category:ParserBeforeTidy extensions は ParserBeforeTidy フックに依存しています。(1.36 で除去)
- Category:ParserAfterTidy extensions は ParserAfterTidy フックに依存しています。
See also カテゴリ:Extensions by hook usage .
関連項目
- Manual:拡張機能 - 拡張機能の探し方、インストール、書き方についての一般的な手引きを提供します。