Extension:AlternateSyntaxParser/ja

The AlternateSyntaxParser Extensionは標準のwikitextパーサーの代わりに別の構文エンジン(MarkdownとなTextileなど)を使えるようにします.

このパーサーはページごとの基本、もしくはデフォルトでサイト全体で行われます.
 * プロジェクトのホームページ: AlternateSyntaxParser Extension - Jimbojw.com
 * ソースコード: AlternateSyntaxParser.php
 * 使用許諾: AlternateSyntaxParserはMITライセンスの元で公開されています.

インストール方法

 * 1) $IP/extensionsディレクトリにAlternateSyntaxParserというフォルダを作成します.
 * 注: $IPはMediaWikiインストールディレクトリです. 
 * 1) AlternateSyntaxParserをダウンロードして、AlternateSyntaxParser.phpとしてダウンロードしたファイルをリネームします.
 * 2) $IP/extensions/AlternateSyntaxParser/に上記のスクリプトを設置します.
 * 3) 次の行をLocalSettings.phpに追加してエクステンションを有効にします: require_once('extensions/AlternateSyntaxParser/AlternateSyntaxParser.php');
 * 4) 下記で示された代替の構文のライブラリを選んでダウンロードします
 * ''注: ライブラリをダウンロードしないと、エクステンションは動作しません！

コンフィギュレーション (任意)

サイト全体のデフォルトの代替構文として指定したい場合、set the $wgAlternateSyntaxParserLanguageグローバル変数をLocalSettings.phpファイルに設定します. 例えば、Markdownをサイト全体として設定するためには、次のコードを追加します: $wgAlternateSyntaxParserLanguage = 'markdown';

Markdown
Markdown構文をサポートするためには、次の作業をします:
 * 1) Michel FortinのPHP Markdown or PHP Markdown Extraライブラリをダウンロードします(どちらか一つ):
 * http://www.michelf.com/projects/php-markdown/
 * 1) zipアーカイブから'markdown.php'を展開します.
 * 2) markdown.phpを$IP/extensions/AlternateSyntaxParser/に設置します.

Textile
Textile構文をサポートするために次の作業をします:
 * 1) Jim RiggsのTextilePHPライブラリをダウンロードします:
 * http://jimandlissa.com/project/textilephp
 * 1) ダウンロードしたアーカイブから'Textile.php'を展開します.
 * 2) Textile.phpを$IP/extensions/AlternateSyntaxParser/</tt>に設置します.

使い方
サイト全体のデフォルトとして設定していなくて、一つのページで一つの代替構文を使う場合、次のコードをページのトップに追加します:


 * 1) MARKUP language

'language'はマークアップ言語の例です - 例えば'markdown'と'textile'が含まれます.

下記のノートのように、指定したマークアップ言語で好きなページ内容を追加して下さい. 以上です！

開発者ノート
このエクステンションに対するインスピレーションはSimon Dorfmanの作品から生まれました. 彼のExtension:MarkdownSyntaxは内容をレンダリングする別のアプローチを取っています. AlternateSyntaxParserは代替言語の出力を保存するためにMediaWikiパーサーのステップのほぼすべてを回避します. 一方でMarkdownSyntaxがMediaWikiのwikitextの解析よりも先にMarkdownルールに従ってマークアップをレンダーします.

このことはMarkdownSyntaxがカテゴリのリンクと(異なるwikitext機能の間で)テンプレートのトランスクルージョンを使える一方でAlternateSyntaxParserはそうではないことを意味します. 対してヘッダーやセクションのマッピングといったことに関してAlternateSyntaxParserは構文の衝突に悩みません(MarkdownSyntaxページに説明されています).

特定の用途に関してどちらのメソッドがより適切なのかはご利用なさる方の練習問題とします.

--Jimbojw 20:33, 3 June 2007 (UTC)