外貨・外為・為替サービスのドメインを売却します

メインコンテンツ | メニュー | リンクメニュー

Main Contents

MT KwikiプラグインでRapid Editing

本体サイトをMovable Typeを導入し、XHTML+CSSスタイルでリニューアル。
裏側ではWikiプラグインを使って、書式付きの本文を効率よく編集できるように工夫している。


IburiWorks - WebScan, AreaEditor

エントリー本文をWikiフォーマットで書くためのプラグインには3種類ある。

Movable Type Plugin Directory: WikiFormat
Movable Type Plugin Directory: TikiText
Movable Type Plugin Directory: Kwiki

これを入れることで、エントリーの「テキストフォーマット」オプションにWikiフォーマットが加わるわけ。

さて、今回使ったのはKwiki。シンプルでカスタマイズしやすかったから。WikiFormatはシンプル過ぎて却下。


KwikiFormattingRules - The Official Kwiki Web Site

今回は、Kwiki.plをこんな風にカスタマイズ。

sub wiki_link_format { $_[1] } #Wikiリンクフォーマットは除去(デフォルト) sub escape_html { $_[1] } #HTMLタグの埋め込みができるように sub http_link {$_[1] } #URLの自動リンクも除去

sub italic {
my ($self, $text) = @_;
$text =~ s!///(.*?)///!<em>$1</sup>!g;
$text;
} # イタリックのフォーマットは///で括ることに

sub underscore {
my ($self, $text) = @_;
$text =~ s!\^(.*?)\^!<sup>$1</sup>!g;
$text;
} # 下線は使わず、^で括ると上付きになるように

まずWikiワードが勝手にリンクになるのは困る。Wikiとして使うわけじゃないので。
で、Wikiフォーマットだけじゃ本文を表現できないので、タグを埋め込めるようにHTMLエスケープと、URLの自動リンク化はなしに。

すると今度はURLのスラッシュをイタリックフォーマットと勘違いし出すので、イタリックフォーマットを///で括るように変更。
脚注の参照番号を上付きにしたいので、下線をカスタマイズして代用。

しかしKwikiのフォーマッタ、ソースコードはこれらしいんだけど

CGI/Kwiki/Formatter.pm

こんな短いコードでWikiフォーマットってできるんだ!
しかしPerlの正規表現は奥が深い。
この正規表現のドキュメント当たりとKwikiのソースコードを合わせ読みすると読み応えがありそうだ。

perlre - Perlの正規表現

コードは小説より面白い、か。

TrackBacks

トラックバックURL:

Comments

Post a comment

コメントフォーム

Copyright © here.