.Wiki構文 記述ガイド =

概要

H2Hはhowmの構文以外に、TracWiki構文も多少ながら解析します。 ただし完全移植を目指しているのでありません。 (実装範囲は、あくまで、私が使う範囲と、使用頻度の高い構文のみ)

なお、名前が無いと不便なので、解析エンジンは、H2weと名称を付けました。

このページは、H2Hでサポートするマークアップについて記述します。


フォント書式

H2weはTracのフォント書式と互換性があります。

記述例

 * '''ボールド''', '''!''' ボールドにできます''' そして '''! '''
 * ''イタリック''
 * '''''ボールドイタリック'''''
 * __アンダーライン__
 * {{{モノスペース}}} or `モノスペース`
 * ~~取り消し線~~
 * ^上付き文字^
 * ,,下付き文字,,

表示結果

  • ボールド, ''' ボールドにできます そして !
  • イタリック
  • ボールドイタリック
  • アンダーライン
  • モノスペース or モノスペース
  • 取り消し線
  • 上付き文字
  • 下付き文字

Note
  1. モノスペース構文の内容は整形済みテキストとして扱います。つまり、テキストに対してWiki構文処理をおこないません。
  2. マークアップ! は、マークアップを解析しません。


見出し

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. リスト
序列リストも記述できます
  1. リスト
  2. リスト
    1. リスト

日本人だから使わないけど、Tracの文法にあるので移植した
 i. リスト
 i. リスト
   i. リスト

 a. リスト
 a. リスト
   a. リスト
日本人だから使わないけど、Tracの文法にあるので移植した
  1. リスト
  2. リスト
    1. リスト

  1. リスト
  2. リスト
    1. リスト

リストを高さをとびこえることはできません
 * リスト
     * いきなり深すぎる
   * ここが表示されない
リストを高さをとびこえることはできません
  • リスト
    • いきなり深すぎる

高さを揃えれば、空白は2つでなくてもリストとして機能します
 * 「*」の前のスペースが2つでも
  * リスト
   * リスト
   * リスト

 * 「*」の前のスペースが1つでも機能します
   * リスト
     * リスト
     * リスト
高さを揃えれば、空白は2つでなくてもリストとして機能します
  • 「*」の前のスペースが2つでも
    • リスト
      • リスト
      • リスト

  • 「*」の前のスペースが1つでも機能します
    • リスト
      • リスト
      • リスト


用語定義リスト

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
}}}!

結果

  1. require 'rb2html/factory'
  2. class << H2weMacro.new("pre.javascript")
  3. def dispatchInner(_args, _entry, _text)
  4. f = Rb2HTML::Factory.get_formatter 'javascript'
  5. return ["<div class='source'>",
  6. (f.format_code(_text, 1)),
  7. "</div>"].join("\n")
  8. end
  9. end


その他

四文字のハイフンを行頭に記述すると水平ライン(<hr>)として機能します。

例:

----

表示内容:


== ==

[wiki][guide][manual] [2010-01-23 08:37]

[build : 2010-03-08 05:09]