2012-02-28 7 views
0

これはほとんど不可能な質問と思われるかもしれませんが、私はMediaWiki Templatesの仕組みを知りたいと思います。私は現在、最初からASP.NET wikiを作成しようとしており、テンプレートに似た何かを作成する機能を持たせたいと考えています。テンプレートのコンテンツは、{{TemplateName}}などのタグと、たとえば{{TemplateName|text=Hello}}のようなパラメータの受け渡しのようなタグを使用して、他のページにどのように埋め込まれますか。MediaWikiテンプレートはどのように機能しますか?

+0

ページのレンダリング時に、MediaWikiはテンプレートタグを対応するコンテンツに置き換えます。フードの下で歯車がどのように回転するかを知りたい場合は、[MediaWikiのソースコード](http://www.mediawiki.org/wiki/Download)を閲覧することができます。 –

+0

"どのようにそれらを継承することができますか"という質問は少し曖昧です。 – Bergi

+1

「transcluded」とは、特定のテンプレートの内容を[ここ](http://en.wikipedia.org/wiki/Wikipedia:Transclusion)のように別のページに含めることができる方法を意味します。 – chris05

答えて

1

解析プロセスでは、最初のステップは「前処理」です。テンプレート構文(テンプレート包含、パラメータ置換、パーサー関数)は、ブラケットとプリプロセッサタグをリンクすると同時にdomのようなツリーに解析されます。 そのdomが拡張されます。つまり、transclusionsが置き換えられます。そして、リンクとテーブル、太字/斜体の構文や魔法のように、プレーンなwikitextが解析されます。

http://www.mediawiki.org/wiki/Manual:Parser.php#DescriptionとそこにリンクされているPHPソースコードが必要です。詳細な説明はhttp://musialek.org/?p=94にもあります。