このソースをDocBookに変換すると…--- - articleinfo: title: > YAMLで文書処理 author: > 随風老師 releaseinfo: > lastmod: 2004-02-25 - s: - id: readmefirst title: > はじめに - p: > DocBook でいえば sect1。 改行は無視されます。 - p: | DocBook でいえば sect1。 こちらでは、改行は保存されます。 - s: - title: > サブセクションのタイトル§1 - nested - s: - title: > §2 - p: > 2重にネストした段落。 DocBook でいえば sect2。 本文。 - p: | ネスト一段復帰。 改行は保存されます。 インデントは無視されます。 - p: > sect1の段落。 改行とインデントは無視されます。 - p: | それなりに快適。 これはいけそう!! - s: - id : discussion title: > YAMLで文書処理 - p: > DocBookも、 こんなに簡単に作れます。 ---
これをDocBook XSLTでHTML に変換。<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <article> <articleinfo> <author>随風老師 </author> <title>YAMLで文書処理 </title> <releaseinfo>lastmod: 2004-02-25 </releaseinfo> </articleinfo> <sect1 id="readmefirst"> <title>はじめに </title> <para>DocBook でいえば sect1。 改行は無視されます。 </para> <para>DocBook でいえば sect1。 こちらでは、改行は保存されます。 </para> <sect2> <title>サブセクションのタイトル§1 </title> nested </sect2> <sect2> <title>§2 </title> <para>2重にネストした段落。 DocBook でいえば sect2。 本文。 </para> </sect2> <para>ネスト一段復帰。 改行は保存されます。 インデントは無視されます。 </para> <para>sect1の段落。 改行とインデントは無視されます。 </para> <para>それなりに快適。 これはいけそう!! </para> </sect1> <sect1 id="discussion"> <title>YAMLで文書処理 </title> <para>DocBookも、 こんなに簡単に作れます。 </para> </sect1> </article>
> xsltproc --output db0.html --stringparam section.autolabel 1 --stringparam section.label.includes.component.label 1 html/docbook.xsl db0.xmlできたものがこちら 。
目次も自動生成され、セクションのナンバリングもDocBook XSLTにお任せです。
WindowsでもLinuxでもOK。これは良いですねえ。
あとは、リストと表組みを作れば完成形。乞うご期待。