目次
Outlined YAYADoc は、エディタで編集しやすいように、マークアップを極力排除した構造化文書です。
ヘッダー行をタブ・インデントするだけで、入れ子の章節構造が簡単に作れます。
秀丸、サクラエディタ、WZエディタなど、各種エディタのアウトライン・モードに適合します。お好みのエディタでサクサク編集できます。
ヘッダーの書式は、ユーザーの好みに応じて、任意に設定できます。デフォルトでは、■や●などの記号で始まる行がヘッダーと解釈されます。
アウトライン・テキストは、ポストXMLとして注目されているYAMLフォーマットに変換されます。YAMLフォーマットは見読性と汎用性が高く、また、処理が非常に軽いため、これをピボットとして、XMLやHTMLなど様々な文書形式に変換して再利用することが容易です。
長編小説のような「第1章 第1節………」という章節構造を、ヘッダーとインデントで指定することができます。構造は、入れ子になります。[1]
ヘッダーは、行頭に0個以上のタブ・インデントと■や●などの記号で始まります。記号は、次の正規表現に含まれるものが使えます。[2]
([■□▲△▼▽◆◇○◎●☆★・§]
|[【〔[{〈《「『【#*♯♪†‡¶!]
|[\[\*]
|[0-9A-Za-z]+\.)
章や節のナンバリングと目次の作成は、HTMLに変換するときに、システムが自動的に行います。
段落のタブ・インデントは、ヘッダーよりも一段深くします。段落は、1行以上の空行[3]で区切ります。
こうした章節構造や段落の指定の仕方は、エディタをオートインデント・モードにして文章を書くと、自然に行われるものです。Outlined YAYADocは、タグ付けに注意を奪われずに、文書作成に集中できて、しかも自然に文書が構造化されるシステムをめざしています。
インデントには、デフォルトではタブのみが使えます。[4]半角スペースでインデントした行は、段落ではなく、整形済みブロックになります。[項2.5. 「整形済みブロック 」参照]
ソース:
■第1章 はじめに
[tab]第1段落
[tab]
[tab]第2段落
[tab]●第1節 ごあいさつ
[tab][tab]第1段落
[tab][tab]
[tab][tab]第2段落
番号なしの箇条書きは、文のはじめに'-'(半角のマイナス記号)を入れます。はじめに'+'(半角のプラス記号)を入れると、番号付きになります。番号なし・番号付きは、混在してもかまいません。
リストのレベル(深さ)は、タブ・インデントで指定します。
たとえば、こんな複雑なリストも作れます。
listitem1
listitem1.1
listitem1.1.1
段落をリストの中に作れます
paragraph2
paragraph3
listitem1.1.2 リストのインデントは厳密に!
番号付リストを混在させられます。
numbered 2
ソース:
- listitem1
[tab]- listitem1.1
[tab][tab]- listitem1.1.1
[tab][tab][tab]
[tab][tab][tab]段落をリストの中に作れます
[tab][tab][tab]
[tab][tab][tab]paragraph2
[tab][tab][tab]
[tab][tab][tab]paragraph3
[tab][tab][tab]
[tab][tab]- listitem3.3.3 リストのインデントは厳密に!
[tab][tab]+ 番号付リストを混在させられます。
[tab][tab]+ numbered 2
[tab]- listitem3.4
- listitem4
HTMLのdl, dt, ddに対応する用語定義は、インデントに続く:(半角コロン)ではじまります。定義用語と定義の間にも、:を入れます。
インデントの深さは指定できますが、入れ子にはなりません。定義にリストは使えません。
用語部分が空である場合には、整形式のDocBooK XMLに変換されません。定義は空であってもかまいません。
定義1
インデントはできますが、ネストはしません。
ぱら
パラ
ソース:
:用語1:定義1
[tab]:用語2:インデントはできますが、ネストはしません。
[tab][tab] :用語3:
[tab][tab][tab]ぱら
[tab][tab][tab]
[tab][tab][tab]パラ
●定義中に段落を切ることができます。定義中にリストは使えません。
ひとつ以上の半角スペースではじまる行は、整形済みブロック[5]になります。
ここから
…………
………… …………
………… ………… …………
………… ………… ………… …………
ここまで 整形済みです
ソース:
ここから
…………
………… …………
………… ………… …………
………… ………… ………… …………
ここまで 整形済みです
行頭の>>>に続いて、ファイル名を指定すると、ファイルを読み込んで、整形済みブロックとして表示します。タブ・インデントがあってもなくても、かまいません。
次のブロックは、ファイルから差し込んでいます。
---
- c:
- title: はじめに
- s:
- title: これは節です
- |
sect1の最初のパラグラフ
sect1の2番目のパラグラフ
sect1の3番目のパラグラフ
- s:
- title: サブセクション
- |
sect2のパラグラフ
- s:
- title: サブサブセクション
- |
sect3のパラグラフ
- s:
- title: サブサブサブセクション
- |
sect4のパラグラフ
- s:
- title: サブサブサブサブセクション
- |
sect5 までいけます
- s:
- title: 第2節
- |
ああ、なんて簡単なんだ!
ソース:
>>> ../var/ayaya/chapsec.ya
行頭にタブ・インデントに続く半角または全角の>記号のある行は、ブロッククオートされます。
ブロッククオートは、インデントにより、入れ子にできます。
引用1
引用2
引用3
ソース:
> 引用1
[tab]> 引用2
[tab][tab]> 引用3
強調文字、文中に画像を表示する、ハイパーリンクなどのインライン・マークアップは、POD風の簡単な記法を使います。一部RDやPukiWikiの記法にも対応しています。
ハイパーリンクは、POD式・RD式・PukiWiki式に対応しています。PukiWiki式では、ASINコードによるAmazon自動リンクに対応しています。
The Art of Computer Programming
ソース:
PukiWiki式
[[ASIN:0201896842:image]]
[[The Art of Computer Programming:ISBN:0201896842]]
POD式
L<YAYADoc Blog|http://blogger.main.jp/yayadoc>
書式:
POD式
L<address>
L<anchor|address>
RD式
((<URL:address>)) 'URL:'の後にhttp://....を書きます
((<anchor|URL:address>))
PukiWiki式
[[address]]
[[anchor:address]]
[[ASIN:code]] 'ASIN:'または'ISBN:'の後に
[[anchor:ASIN:code]] 10桁のコードを書きます
[[ASIN:code:image]] 画像付き
[[ASIN:code:image:small]] サムネイル付き
URLを自動的にリンクにする機能はありません。
このマニュアルのソースはこちらです。
[1] DocBookの sect1, sect2 .. .. sect5 に対応します。
[2] プログラムのパラメータを変更することで、ユーザーが任意に設定することもできます。
[3] 0個以上のタブと1個の改行マークだけからなる行。
[4] プログラムのパラメータを変更することで、ユーザーは、たとえば半角スペースや全角スペースなど、タブ以外のインデントを指定することもできます。半角スペースをインデントに使う場合、整形済みブロックは、行頭に'=begin text'のある行から、行頭に'=end text'のある行までの間になります。
[5] DocBookのscreenやHTMLのpreに対応します。