.Wiki構文 記述ガイド =
概要
H2Hはhowmの構文以外に、TracWiki構文も多少ながら解析します。
ただし完全移植を目指しているのでありません。
(実装範囲は、あくまで、私が使う範囲と、使用頻度の高い構文のみ)
なお、名前が無いと不便なので、解析エンジンは、H2weと名称を付けました。
このページは、H2Hでサポートするマークアップについて記述します。
フォント書式
H2weはTracのフォント書式と互換性があります。
記述例
* '''ボールド''', '''!''' ボールドにできます''' そして '''! '''
* ''イタリック''
* '''''ボールドイタリック'''''
* __アンダーライン__
* {{{モノスペース}}} or `モノスペース`
* ~~取り消し線~~
* ^上付き文字^
* ,,下付き文字,,
表示結果
- ボールド, ''' ボールドにできます そして !
- イタリック
- ボールドイタリック
- アンダーライン
- モノスペース or モノスペース
取り消し線 - 上付き文字
- 下付き文字
- Note
- モノスペース構文の内容は整形済みテキストとして扱います。つまり、テキストに対してWiki構文処理をおこないません。
- マークアップ! は、マークアップを解析しません。
見出し
H2weはTracの見出し書式と互換性があります。
「1〜5」文字のイコールを行頭に置き、その後スペースを入れると、見出しになります。
見出しの終端はスペースを入れ、同数のイコールを入力します。
見出しの後に明示的なセクションIDを記述する事が出来ます。
記述例
= 見出し1 =
== 見出し2 ==
=== 見出し3 ===
==== 見出し4 ====
===== 見出し5 =====
===== 明示的なセクションID =====#id_123
表示結果
見出し1
見出し2
見出し3
見出し4
見出し5
Note
H2weとTracWikiと大幅に違う仕様として、WikiPageNamesの存在があります。
記述しない場合、Wikiエンジンが自動的にセクションIDが振ります。 明示的なセッションIDを記述しないページ内のAタグ記述は、事実上、不可能です。
見出し1はhowmの見出しと構文が同じなので、 別途記述のエントリ処理の順位上、 いかなるルールより優先処理されます。
改行
Tracと同様に、 [[BR]]と記述をおこなうと、
明示的に改行が出来ます。
記述例
一行目[[BR]]二行目
表示結果
一行目
二行目
リスト
H2weのリストはTracWikiと互換性があります。
TracWikiがそうであるように、番号付きリストと番号なしリストに対応します。
番号なしリスト
* リスト
* リスト
* リスト
* リスト
* リスト
* リスト
* リスト
* リスト
番号なしリスト
序列リストも記述できます
1. リスト
1. リスト
1. リスト
序列リストも記述できます
- リスト
- リスト
- リスト
日本人だから使わないけど、Tracの文法にあるので移植した
i. リスト
i. リスト
i. リスト
a. リスト
a. リスト
a. リスト
日本人だから使わないけど、Tracの文法にあるので移植した
- リスト
- リスト
- リスト
- リスト
- リスト
- リスト
リストを高さをとびこえることはできません
* リスト
* いきなり深すぎる
* ここが表示されない
リストを高さをとびこえることはできません
高さを揃えれば、空白は2つでなくてもリストとして機能します
* 「*」の前のスペースが2つでも
* リスト
* リスト
* リスト
* 「*」の前のスペースが1つでも機能します
* リスト
* リスト
* リスト
高さを揃えれば、空白は2つでなくてもリストとして機能します
用語定義リスト
H2weは用語定義リストにも対応します
記述例
llama::
毛の生えた哺乳類の一種。
ppython::
毛がない爬虫類の一種。
(typoを見つけたかい?)
表示結果
- llama
- 毛の生えた哺乳類の一種。
- ppython
- 毛がない爬虫類の一種。
- (typoを見つけたかい?)
整形済みテキスト
整形済みテキスト
記述例
{{{!
Emacs で断片的なメモをどんどんとるための環境です.
分類機能はあえてつけません. かわりに, 全文検索とメモ間リンクが手軽にできるようにしました.
自由書式なので改宗も不要 :-)
}}}!
表示結果
Emacs で断片的なメモをどんどんとるための環境です.
分類機能はあえてつけません. かわりに, 全文検索とメモ間リンクが手軽にできるようにしました.
自由書式なので改宗も不要 :-)
引用ブロック
空白を先頭に2つ入れると、引用ブロックになります。
記述例
Emacs で断片的なメモをどんどんとるための環境です.
分類機能はあえてつけません. かわりに, 全文検索とメモ間リンクが手軽にできるようにしました.
自由書式なので改宗も不要 :-)
表示例
Emacs で断片的なメモをどんどんとるための環境です. 分類機能はあえてつけません. かわりに, 全文検索とメモ間リンクが手軽にできるようにしました. 自由書式なので改宗も不要 :-)
引用
構文がhowmの
come-fromリンクと同じ為、
H2weではメールライクの引用に対応しません。
表
H2weでは簡単な表記述にも対応しています。
||Cell 1||Cell 2||Cell 3||
||Cell 4||Cell 5||Cell 6||
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
ReSTの実装予定は無いため、
より複雑な表はプロセッサを使用し、
htmlを直接記述してください。
リンク
H2weでは、Trac構文、howm構文のリンクに対応します。
TracWikiにあったWikiPageNamesでのリンクには対応していません。
これは、howmでメモを取る場合、大抵の場合ファイル名を指定しないため、
実装した所で、多分無価値だと判断した為です。
URL
URLは自動的にリンクタグになります。
- 記述例
http://www.google.co.jp
- 表示結果
- http://www.google.co.jp
Wiki構文
H2weではWikiのリンク構文を解析しますが、
WikiPageNamesを使用したリンクには対応していません。
代替策として、changeLogのメモへのリンクを用意しました。
- 記述例
* [http://www.google.co.jp]
* [http://www.google.co.jp google]
* [wiki:2010-01-23#todo Wiki構文 記述ガイド(リンクになるが機能しない)]
* [howm:~/howm/2010/01/2010_01_23.howm#todo Wiki構文 記述ガイド]
- 表示結果
changeLog構文
拡張子が「howm」の場合、対象メモへのリンクになります。
拡張子がhowm、画像以外、
または、指定されていない場合、
ワークセットへのリンクタグになります。
また、
ワークセットがユーザにより作成されていない場合、
暗黙的なワークセットとスマートコンテンツを作成します。
- 記述例
* gotoリンク(メモへのリンク) >>> ~/howm/2010/01/2010_01_23.howm
* gotoリンク(workset) >>> workset
* come-fromリンク <<<come-fromリンク
- 表示結果
リンクの無効化
リンクの無効化は、
文中に混在するWikiPageNamesキーワードのエスケープの為に存在しています。
H2weでは、WikiPageNamesを使用したリンクには対応しません。
代替になる機能は
come-fromリンクです。
現在当該機能はオミットされています。
画像
画像は、Tracマクロとhowmのgotoリンクにより対応します。
先頭に「.」「~」が記載された場合、
howmファイルが配置されているディレクトリから、
ファイル出力ディレクトリ画像リソースにファイルをコピーし、
そのパスに変換します。
ソレ以外の場合、
ファイル出力ディレクトリ画像リソースからの相対パスに
変換されます。
Wiki構文
Wikiの仕様に準拠してマクロで実装されています。
- 記述例
[[Image(./img/100102_2114~01.jpg)]]
- 表示結果

changeLog構文
changeLog記述の場合は、拡張子で判断します。
画像として判断する拡張子は「.jpeg」「.jpg」「.gif」「.png」です。
記述例
>>> ./img/100102_2114~01.jpg
- 表示結果
-
マクロ
H2weではTracのマクロ文法にも対応しています。
ただし、文法だけ似せただけで
Trac用に記述されたPythonマクロは動作しません。
例
[[Image(rogo.gif)]]
表示例
プロセッサ
H2weではTracのプロセッサ文法にも対応しています。
Tracのプロセッサはマクロで記述されており、
H2weでの制約はマクロ同様に、Trac用に記述されたPythonプロセッサは動作しません。
H2weで標準で対応しているのは「html(記述内容を、そのまま表示)」と「comment」のみです。
H2weはオープンソース「rb2html」のインターフェイスを標準で同根されています。
rb2htmlを使用する事で、「ソースコードの強調表示」に対応します。
対応言語
- Ruby
- Java
- JavaScript
- C/C++/Objective-C
- Python
- Haskell
- HTML/XML
- CSS
例
{{{!
#!ruby
require 'rb2html/factory'
class << H2weMacro.new("pre.javascript")
def dispatchInner(_args, _entry, _text)
f = Rb2HTML::Factory.get_formatter 'javascript'
return ["<div class='source'>",
(f.format_code(_text, 1)),
"</div>"].join("\n")
end
end
}}}!
結果
- require 'rb2html/factory'
-
- class << H2weMacro.new("pre.javascript")
-
- def dispatchInner(_args, _entry, _text)
- f = Rb2HTML::Factory.get_formatter 'javascript'
- return ["<div class='source'>",
- (f.format_code(_text, 1)),
- "</div>"].join("\n")
- end
-
- end
その他
四文字のハイフンを行頭に記述すると水平ライン(<hr>)として機能します。
例:
----
表示内容:
== ==
[wiki][guide][manual]
[2010-01-23 08:37]
[build : 2010-03-08 05:09]