* Piki -- コマンドライン WIKI
[English ../en/]
{right
山本和彦\
2010.3.10\
}
Piki は、WIKI の一種です。他の WIKI と同様、Piki は文章の構造を表現するための簡潔な記法を提供します。しかし他の WIKI と違って、Web サーバーを使いません。"piki" は、Piki ファイルを HTML ファイルに変換するためのコマンドライン・プログラムです。
"piki" は、[Haskell http://www.haskell.org] の関数型パーサーである [Parsec http://legacy.cs.uu.nl/daan/download/parsec/parsec.html] で書かれています。現在、["Piki version 0.3.0" http://hackage.haskell.org/package/piki] を Hackage で公開しています。["Git リポジトリー" http://github.com/kazu-yamamoto/piki]は、github にあります。
** "piki" コマンド
"piki" は、HTML 雛形ファイル("template.html"とする) と Piki 記法で書かれたファイル("index.piki"とする)をコマンドライン引数に取り、HTML ファイル("index.html" とする)を出力します。
>|
% piki template.html index.piki > index.html
|<
"template.html" には HTML のメタ情報を記述します。"piki" は、Piki ファイル中の "$body" を Piki ファイルから生成したコンテンツで置き換えます。また、"$title" を 最初の
)は、">|" と "|<" で囲みます。
>|
>|
(define (fib n)
(cond
((= n 0) 0)
((= n 1) 1)
(else
(+ (fib (- n 1)) (fib (- n 2))))))
|<
|<
***区域
"{" と "}" で囲まれた行は、区域()になります。"{" の後に大文字が含まれていると、それは "id" の値になります。それ以外は、"class" の値になります。
>|
{center
なんらかの Piki テキスト
}
|<
CSS と一緒に利用すると便利です。
>|
.center {
margin: 0px auto;
text-align: center;
}
|<
***段落
Piki 記法で始まらない行は、段落()になります。段落の区切りは、空行です。
>|
第一段落:日本語では、一行に書く方がいいでしょう。
第二段落:English can be spread into
multiple lines.
|<
***リンク
リンクを張るには、"\[title url\]" という記法を用います。タイトルが空白を含む場合は、ダブルクオートで囲む必要があります。もちろん、この記法は行頭でなくとも使えます。
>|
僕の好きなコンピュータ言語は [Haskell http://www.haskell.org/] です。
|<
***回避文字
回避文字は '\\' です。"\[\]" と表示するには "\\\[\\\]" と書きましょう。
通常、HTML の特殊文字は、参照文字列に変換されます。たとえば、'<' は "<" に変換されます。
もし、特殊文字が回避されたら、参照文字列には変換されません。以下に興味深い例を示します。
>|
{right
山本和彦\
2009.4.6
}
|<
>|
.right {
text-align: right;
padding-right: 16px;
}
|<