---! YHTML #
head:
- title: YSLT
- ''
body:
- h1: YSLT
- h2: YSLTとは
- p:
- YSLTは
- a:
href: "http://yaml.org/"
text: YAML
- を加工するプロセッサです.
- p:
- YAMLの一部を抽出したり, YAML以外の文書に変換したりできます.
- このHTMLも
- a:
href: "./readme.yaml"
text: YAMLで書かれて
- a:
href: "./readme.ysl"
text: YSLTで変換
- されています.
- (変換を行うにはコマンドラインから
- code: 'yslt readme > readme.html'
- と実行してください)
- h2: ダウンロード
- p:
- a: "./yslt.zip"
- h2: リファレンス
- h3: 条件
- dl:
- dt: 'ysl-head'
- dd: その条件に到達したら最初に実行されます.
- dt: 'ysl-foot'
- dd: その条件に到達したら最後に実行されます.
- dt: 'ysl-list'
- dd: sequenceにマッチします.
- dt: 'ysl-hash'
- dd: mappingにマッチします.
- dt: 'ysl-item'
- dd: sequenceの項目にマッチ, またmappingのデフォルトケースです.
- dt: 'ysl-scalar'
- dd: scalarにマッチします.
- dt: '(任意のキー)'
- dd: 同じ文字列のmappingのキーにマッチします.
- dt: 'ysl-any-list'
- dd: 処理位置にysl-listが無い時にsequenceが出現したら遡ってマッチします.
- dt: 'ysl-any-hash'
- dd: 処理位置にysl-hashが無い時にmappingが出現したら遡ってマッチします.
- h3: 命令
- dl:
- dt: '@ysl-key'
- dd: 処理中の項目のキー(を出力)
- dt: '@ysl-value'
- dd: 処理中の項目の値(を出力), scalar以外は空文字列です.
- dt: '@ysl-indent'
- dd: 出力をインデントします. 現在の条件を抜けると解除されます.
- dt: '@ysl-float'
- dd: 自動で改行しなくなります. 現在の条件を抜けると解除されます.
- dt: '@ysl-warning'
- dd: 警告をエラー出力します. 引数msgを取ります.
- dt: '@ysl-error'
- dd: エラー出力してそこで処理を中止します. 引数msgを取ります.
- dt: '@ysl-skip'
- dd: 何もしません.
- dt: '@if, @print, @nequal, ...'
- dd: YAMPのコマンドが使えます.
- p: |
命令が書けるところにはsequenceが書けて, 順番に処理されます.
命令を書くところに単一のscalar値を書くとそのテキストが出力されます.
空文字列でもscalarと見なされると改行が出力されてしまうので@ysl-skipがあります.
- h2: リンク
- ul:
-li:
- YAML
- a: "http://yaml.org/"
- li:
- YAMP
- a: "http://d.hatena.ne.jp/shinichiro_h/20040814#p1"
- li:
- dyayaml
- a: "http://hp.vector.co.jp/authors/VA028375/junkbox/dyayaml.html"