Home > Diary | Server > WP FreeStyle Wiki 0.1

WP FreeStyle Wiki 0.1

tDiaryからWordPressに乗り換え、これから書いていくのに標準のエディタで書くのがどうしても面倒だったので、一番慣れ親しんでいるFreeStyle Wikiの記法で書けるPlugin、WP FreeStyle Wikiを作りました。作ったといってもかなりの強引なことをしていてFreeStyle Wikiを丸ごと中で持っており、そこへ外部コマンドで投げてレンダリングしているだけです。

これは、大晦日の31日にWordPress Pluginをなんとなく見ていたところ、makotokwさん(ありがとうございます!)が作られているPukiWiki for WordPressというPluginを見つけて、ソースを見てみたらPukiWikiを丸ごと中に持っていてそんな手があったかと、そのまま勢いで年が明ける前にFreeStyle Wiki用に改造したものです。

以下に置いてありますので使いたい方がいましたらご自由にお使いください。ライセンスは中に持っているFreeStyle Wikiと同じGPLです。

記法サンプル

以下、記法のサンプルです。 [fswiki] と [/fswiki] で囲んだ部分がFreeStyle Wikiで処理されます。

ソース

[fswiki]
!!見出し

行を!ではじめると見出しになります。
見出しは3レベルありますが、!!!は記事名と被るので使わない方が良いかもしれません。

!!中見出し
!小見出し

!!テキスト装飾

シングルクォート2つで囲むと''イタリック''になります。
シングルクォート3つで囲むと'''ボールド'''になります。
これは==打ち消し線==です。
これは__下線__です。

!!引用

""これは引用です。
""これも引用です。

!!説明

:項目:説明文

::項目
:::説明文は複数行にわけて書くこともできます。
:::こんな感じで。

!!項目

行を*ではじめるとリストになります。
リストは*の個数に応じて3段階までネストすることができます。

*項目1-1
**項目2-1
**項目2-2
***項目3-1
*項目1-2
**項目2-3

行を+ではじめると番号付きリストになります。

+番号付き項目1
++番号付き項目1-1
+番号付き項目2
+番号付き項目3

!!リンク

*http://www.yahoo.co.jp/
*[Google|http://www.google.co.jp/]

!!テーブル

CSVはテーブルになります。1行目がヘッダになります。

,1-1,1-2,1-3
,2-1,2-2,2-3

セル内にカンマを含めたい場合は値をダブルクォートで囲みます。
また、ダブルクォートで囲んだセルにダブルクォートを表示したい場合はダブルクォートを2つ続けて記述します。

,カンマ,ダブルクォート
,"セルの中にカンマ,を表示","セルの中にダブルクォート""を表示"

!!整形済テキスト

行頭をスペースまたはタブではじめると整形済テキストとして扱われます。

これは整形済テキストです。
入力したとおりに表示されます。

{{pre
preタグバージョン
これは整形済テキストです。
入力したとおりに表示されます。
}}

!!水平線

行頭に----と書くと水平線になります。

----

!!コメント

行を//ではじめるとその行はコメントとみなされます。コメント行は一切出力されません。

//これはコメントになります。画面には出力されません。
[/fswiki]

レンダリング結果

上記のソースが下記のようになります。

見出し

行を!ではじめると見出しになります。見出しは3レベルありますが、!!!は記事名と被るので使わない方が良いかもしれません。

中見出し

小見出し

テキスト装飾

シングルクォート2つで囲むとイタリックになります。シングルクォート3つで囲むとボールドになります。これは打ち消し線です。これは下線です。

引用

これは引用です。

これも引用です。

説明

項目
説明文
項目
説明文は複数行にわけて書くこともできます。こんな感じで。

項目

行を*ではじめるとリストになります。リストは*の個数に応じて3段階までネストすることができます。

  • 項目1-1
    • 項目2-1
    • 項目2-2
      • 項目3-1
  • 項目1-2
    • 項目2-3

行を+ではじめると番号付きリストになります。

  1. 番号付き項目1
    1. 番号付き項目1-1
  2. 番号付き項目2
  3. 番号付き項目3

リンク

テーブル

CSVはテーブルになります。1行目がヘッダになります。

1-1 1-2 1-3
2-1 2-2 2-3

セル内にカンマを含めたい場合は値をダブルクォートで囲みます。また、ダブルクォートで囲んだセルにダブルクォートを表示したい場合はダブルクォートを2つ続けて記述します。

カンマ ダブルクォート
セルの中にカンマ,を表示 セルの中にダブルクォート"を表示

整形済テキスト

行頭をスペースまたはタブではじめると整形済テキストとして扱われます。

これは整形済テキストです。入力したとおりに表示されます。

preタグバージョン
これは整形済テキストです。
入力したとおりに表示されます。

水平線

行頭に—-と書くと水平線になります。


コメント

行を//ではじめるとその行はコメントとみなされます。コメント行は一切出力されません。

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0 |twitterに投稿する

コメント:2

Kenichi Maehashi 2010-01-01 (金) 7:42

便利な plugin をありがとうございます!
さっそく自分のサーバで使っています。

さて、fswiki.php の convert_html function ですが、escapeshellarg がちょっと怖かったので(基本的に PHP を信用しない :-P)、代わりに標準入出力を使うようにしてみました。どうでしょうか。

function convert_html($text, $navigator) {
$descriptorspec = array(
0 => array(‘pipe’, ‘r’),
1 => array(‘pipe’, ‘w’),
);
$process = proc_open(‘./process_wiki.pl’, $descriptorspec, $pipes, $this->path);

if (is_resource($process)) {
fwrite($pipes[0], $text);
fclose($pipes[0]);
$result = stream_get_contents($pipes[1]);
fclose($pipes[1]);
proc_close($process);
return $result;
} else {
return __(“Failed to parse fswiki notation!”);
}
}

# pre tag が「コメントスタイル指定用の一部の HTMLタグ」に入っていることを祈りつつ…

それでは、今年もよろしくお願いいたします。

jfut 2010-01-01 (金) 15:05

改善案ありがとうございます。良さそうなので早速取り込んで wp-fswiki-0.1.1.tar.gz を置いておきました。

「コメントスタイル指定用の一部の HTMLタグ」はなんか効いてないですね。

コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://jfut.integ.jp/2010/01/01/wp-fswiki/trackback/
Listed below are links to weblogs that reference
WP FreeStyle Wiki 0.1 from ふたつの川うるおう日記

Home > Diary | Server > WP FreeStyle Wiki 0.1

検索
フィード
メタ情報

Return to page top