Extension:AlternateSyntaxParser/ja

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

このパーサーはページごとの基本、もしくはデフォルトでサイト全体で行われます.


 * プロジェクトのホームページ: AlternateSyntaxParser Extension - Jimbojw.com
 * ソースコード: AlternateSyntaxParser.php
 * 使用許諾: AlternateSyntaxParserはMITライセンスのもとで公開されています.

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

構成 (任意)

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

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

Textile
Textile構文に対応させるために以下の作業をします:
 * 1) TextpatternのTextilePHPライブラリをダウンロードします:
 * http://textpattern.googlecode.com/svn/releases/4.3.0/source/textpattern/lib/classTextile.php
 * 1) classTextile.phpを$IP/extensions/AlternateSyntaxParser/</tt>に設置します.

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


 * 1) MARKUP language

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

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

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

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

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

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

関連項目
See also modified version 5 Fix apr. 2013, MW 1.20 - v 0.1p1 on the Talk page.