review-peg 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +36 -0
  3. data/.rubocop.yml +47 -0
  4. data/.rubocop_todo.yml +605 -0
  5. data/.travis.yml +18 -0
  6. data/COPYING +515 -0
  7. data/ChangeLog +2449 -0
  8. data/Dockerfile +22 -0
  9. data/Gemfile +6 -0
  10. data/README.rdoc +81 -0
  11. data/Rakefile +51 -0
  12. data/bin/review-catalog-converter-peg +129 -0
  13. data/bin/review-check-peg +169 -0
  14. data/bin/review-checkdep-peg +63 -0
  15. data/bin/review-compile-peg +202 -0
  16. data/bin/review-epubmaker-legacy-peg +1024 -0
  17. data/bin/review-epubmaker-peg +44 -0
  18. data/bin/review-index-peg +110 -0
  19. data/bin/review-init-peg +151 -0
  20. data/bin/review-pdfmaker-peg +18 -0
  21. data/bin/review-preproc-peg +131 -0
  22. data/bin/review-validate-peg +51 -0
  23. data/bin/review-vol-peg +100 -0
  24. data/debian/README.Debian +12 -0
  25. data/debian/README.source +5 -0
  26. data/debian/changelog +5 -0
  27. data/debian/compat +1 -0
  28. data/debian/control +22 -0
  29. data/debian/copyright +62 -0
  30. data/debian/docs +6 -0
  31. data/debian/manpage.1.ex +59 -0
  32. data/debian/patches/path.diff +91 -0
  33. data/debian/patches/series +1 -0
  34. data/debian/review.install +13 -0
  35. data/debian/review.links +4 -0
  36. data/debian/rules +13 -0
  37. data/debian/source/format +1 -0
  38. data/doc/NEWS.ja.md +350 -0
  39. data/doc/NEWS.md +354 -0
  40. data/doc/catalog.ja.md +53 -0
  41. data/doc/catalog.md +52 -0
  42. data/doc/format.ja.md +734 -0
  43. data/doc/format.md +746 -0
  44. data/doc/format_idg.ja.md +203 -0
  45. data/doc/quickstart.ja.md +222 -0
  46. data/doc/quickstart.md +252 -0
  47. data/doc/ruby-uuid/README +11 -0
  48. data/doc/ruby-uuid/README.ja +34 -0
  49. data/doc/sample.css +108 -0
  50. data/doc/sample.yml +238 -0
  51. data/lib/epubmaker.rb +24 -0
  52. data/lib/epubmaker/content.rb +93 -0
  53. data/lib/epubmaker/epubcommon.rb +424 -0
  54. data/lib/epubmaker/epubv2.rb +139 -0
  55. data/lib/epubmaker/epubv3.rb +222 -0
  56. data/lib/epubmaker/producer.rb +330 -0
  57. data/lib/lineinput.rb +107 -0
  58. data/lib/review.rb +3 -0
  59. data/lib/review/book.rb +43 -0
  60. data/lib/review/book/base.rb +401 -0
  61. data/lib/review/book/chapter.rb +100 -0
  62. data/lib/review/book/compilable.rb +184 -0
  63. data/lib/review/book/image_finder.rb +71 -0
  64. data/lib/review/book/index.rb +413 -0
  65. data/lib/review/book/page_metric.rb +47 -0
  66. data/lib/review/book/part.rb +54 -0
  67. data/lib/review/book/volume.rb +67 -0
  68. data/lib/review/builder.rb +452 -0
  69. data/lib/review/catalog.rb +52 -0
  70. data/lib/review/compiler.rb +5183 -0
  71. data/lib/review/compiler/literals_1_9.kpeg +22 -0
  72. data/lib/review/compiler/literals_1_9.rb +435 -0
  73. data/lib/review/configure.rb +64 -0
  74. data/lib/review/epubbuilder.rb +18 -0
  75. data/lib/review/epubmaker.rb +480 -0
  76. data/lib/review/ewbbuilder.rb +381 -0
  77. data/lib/review/exception.rb +21 -0
  78. data/lib/review/extentions.rb +4 -0
  79. data/lib/review/extentions/array.rb +25 -0
  80. data/lib/review/extentions/object.rb +9 -0
  81. data/lib/review/extentions/string.rb +33 -0
  82. data/lib/review/htmlbuilder.rb +1166 -0
  83. data/lib/review/htmllayout.rb +41 -0
  84. data/lib/review/htmltoc.rb +45 -0
  85. data/lib/review/htmlutils.rb +90 -0
  86. data/lib/review/i18n.rb +96 -0
  87. data/lib/review/i18n.yml +169 -0
  88. data/lib/review/idgxmlbuilder.rb +1233 -0
  89. data/lib/review/inaobuilder.rb +357 -0
  90. data/lib/review/latexbuilder.rb +941 -0
  91. data/lib/review/latexindex.rb +35 -0
  92. data/lib/review/latexutils.rb +95 -0
  93. data/lib/review/layout.tex.erb +340 -0
  94. data/lib/review/lineinput.rb +17 -0
  95. data/lib/review/location.rb +24 -0
  96. data/lib/review/makerhelper.rb +67 -0
  97. data/lib/review/markdownbuilder.rb +339 -0
  98. data/lib/review/node.rb +288 -0
  99. data/lib/review/pdfmaker.rb +332 -0
  100. data/lib/review/preprocessor.rb +530 -0
  101. data/lib/review/review.kpeg +745 -0
  102. data/lib/review/sec_counter.rb +69 -0
  103. data/lib/review/template.rb +21 -0
  104. data/lib/review/textbuilder.rb +17 -0
  105. data/lib/review/textutils.rb +16 -0
  106. data/lib/review/tocparser.rb +348 -0
  107. data/lib/review/tocprinter.rb +205 -0
  108. data/lib/review/topbuilder.rb +796 -0
  109. data/lib/review/unfold.rb +138 -0
  110. data/lib/review/version.rb +3 -0
  111. data/lib/uuid.rb +312 -0
  112. data/review.gemspec +32 -0
  113. data/templates/html/layout-html5.html.erb +17 -0
  114. data/templates/html/layout-xhtml1.html.erb +20 -0
  115. data/templates/ncx/epubv2.ncx.erb +11 -0
  116. data/templates/opf/epubv2.opf.erb +21 -0
  117. data/templates/opf/epubv3.opf.erb +18 -0
  118. data/templates/xml/container.xml.erb +6 -0
  119. data/test/CHAPS +2 -0
  120. data/test/assets/test.xml.erb +3 -0
  121. data/test/assets/test_template.tex +255 -0
  122. data/test/assets/test_template_backmatter.tex +32 -0
  123. data/test/bib.re +13 -0
  124. data/test/book_test_helper.rb +35 -0
  125. data/test/sample-book/README.md +7 -0
  126. data/test/sample-book/src/Rakefile +58 -0
  127. data/test/sample-book/src/_cover.html +3 -0
  128. data/test/sample-book/src/catalog.yml +10 -0
  129. data/test/sample-book/src/ch01.re +71 -0
  130. data/test/sample-book/src/ch02.re +3 -0
  131. data/test/sample-book/src/config.yml +186 -0
  132. data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
  133. data/test/sample-book/src/images/cover.jpg +0 -0
  134. data/test/sample-book/src/preface.re +15 -0
  135. data/test/sample-book/src/sty/jumoline.sty +310 -0
  136. data/test/sample-book/src/sty/reviewmacro.sty +39 -0
  137. data/test/sample-book/src/style.css +251 -0
  138. data/test/sample-book/src/vendor/jumoline/README +29 -0
  139. data/test/sample-book/src/vendor/jumoline/jumoline.dtx +2988 -0
  140. data/test/sample-book/src/vendor/jumoline/jumoline.ins +6 -0
  141. data/test/test.re +43 -0
  142. data/test/test_book.rb +556 -0
  143. data/test/test_book_chapter.rb +280 -0
  144. data/test/test_book_part.rb +54 -0
  145. data/test/test_builder.rb +80 -0
  146. data/test/test_catalog.rb +119 -0
  147. data/test/test_catalog_converter_cmd.rb +73 -0
  148. data/test/test_compiler.rb +92 -0
  149. data/test/test_configure.rb +50 -0
  150. data/test/test_epub3maker.rb +529 -0
  151. data/test/test_epubmaker.rb +569 -0
  152. data/test/test_epubmaker_cmd.rb +40 -0
  153. data/test/test_helper.rb +92 -0
  154. data/test/test_htmlbuilder.rb +1114 -0
  155. data/test/test_htmltoc.rb +32 -0
  156. data/test/test_htmlutils.rb +50 -0
  157. data/test/test_i18n.rb +180 -0
  158. data/test/test_idgxmlbuilder.rb +608 -0
  159. data/test/test_image_finder.rb +82 -0
  160. data/test/test_inaobuilder.rb +245 -0
  161. data/test/test_index.rb +174 -0
  162. data/test/test_latexbuilder.rb +732 -0
  163. data/test/test_lineinput.rb +182 -0
  164. data/test/test_makerhelper.rb +66 -0
  165. data/test/test_markdownbuilder.rb +125 -0
  166. data/test/test_pdfmaker.rb +171 -0
  167. data/test/test_pdfmaker_cmd.rb +40 -0
  168. data/test/test_preprocessor.rb +23 -0
  169. data/test/test_review_ext.rb +31 -0
  170. data/test/test_template.rb +26 -0
  171. data/test/test_textutils.rb +32 -0
  172. data/test/test_topbuilder.rb +291 -0
  173. data/test/test_uuid.rb +157 -0
  174. metadata +357 -0
@@ -0,0 +1,203 @@
1
+ # Re:VIEW フォーマット InDesign XML 形式拡張
2
+
3
+ Re:VIEW フォーマットから、Adobe 社の DTP ソフトウェア「InDesign」
4
+ で読み込んで利用しやすい XML 形式に変換できます (通常の XML とほぼ同じ
5
+ ですが、文書構造ではなく見た目を指向した形態になっています)。
6
+ 現時点では idgxmlbuilder.rb と topbuilder.rb のみが拡張に対応しています。
7
+ 実際には出力された XML を InDesign のスタイルに割り当てるフィルタをさらに
8
+ 作成・適用する必要があります。
9
+
10
+ ## 章・節・項・段
11
+
12
+ 従来の`[column]`のほかに、オプションを追加しています。
13
+
14
+ * `[nonum]` : これを指定している章・節・項・段には連番を振りません。
15
+ * `[circle]`: 「・」を先頭に付けた小さな見出し(連番なし)を作成します。
16
+ * `[world]`: Real Worldコラム。
17
+ * `[hood]`: Under the Hoodコラム。
18
+ * `[edition]`: Editionコラム。
19
+ * `[insideout]`: インサイドアウトコラム。
20
+
21
+ ## 書式ブロック
22
+
23
+ `//insn[タイトル]{ 〜 //}` または `//box[タイトル]{ 〜 //}` で書式を指定します。
24
+
25
+ ## ノート
26
+
27
+ `//note{ 〜 //}` または `//note[タイトル]{ 〜 //}` で注意文章を指定します。
28
+
29
+ ## メモ
30
+
31
+ `//memo{ 〜 //}` または `//memo[タイトル]{ 〜 //}` でメモ文章を指定します。
32
+
33
+ ## ヒント
34
+
35
+ `//tip{ 〜 //}` または `//tip[タイトル]{ 〜 //}` でヒント(Tip)文章を指定します。
36
+
37
+ ## 参照ブロック
38
+
39
+ `//info{ 〜 //}` または `//info[タイトル]{ 〜 //}` で参照文章を指定します。
40
+
41
+ ## プランニング
42
+
43
+ `//planning{ 〜 //}` または `//planning[タイトル]{ 〜 //}` でプランニング文章を指定します。
44
+
45
+ ## ベストプラクティス
46
+
47
+ `//best{ 〜 //}` または `//best[タイトル]{ 〜 //}` でベストプラクティス文章を
48
+ 指定します。
49
+
50
+ ## ここが重要 (キーワード)
51
+
52
+ `//important[タイトル]{ 〜 //}` で重要項目を指定します。
53
+
54
+ ## セキュリティ
55
+
56
+ `//security{ 〜 //}` または `//security[タイトル]{ 〜 //}` でセキュリティ文章を
57
+ 指定します。
58
+
59
+ ## 警告
60
+
61
+ `//caution{ 〜 //}` または `//caution[タイトル]{ 〜 //}` で警告文章を指定します。
62
+
63
+ ## エキスパートに訊く
64
+
65
+ `//expert{ 〜 //}` で「エキスパートに訊く」を指定します (rawで`<expert>〜</expert>`
66
+ を使うほうがよいかもしれません)。
67
+ QとAは`@<b>{Q}:〜` と `@<b>{A}:〜` で示します。
68
+
69
+ ## 注意
70
+
71
+ `//notice{ 〜 //}` または `//notice[タイトル]{ 〜 //}` で注意を指定します。
72
+
73
+ ## ワンポイント
74
+
75
+ `//point{ 〜 //}` または `//point[タイトル]{ 〜 //}` でワンポイントを指定します。
76
+
77
+ ## トラブルシューティング
78
+
79
+ `//shoot{ 〜 //}` または `//shoot[タイトル]{ 〜 //}` でトラブルシューティングを
80
+ 指定します。
81
+
82
+ ## 用語解説
83
+
84
+ `//term{ 〜 //}` で用語解説を指定します(ただし、ブロック指定ができないので
85
+ 実質的にはrawで`<term>〜</term>`を通常使うことになるでしょう)。
86
+
87
+ ## リンク
88
+
89
+ `//link{ 〜 //}` または `//link[タイトル]{ 〜 //}` で他の章やファイルなどへの
90
+ 参照内容を指定します。
91
+
92
+ ## 練習問題
93
+
94
+ `//practice{ 〜 //}` で練習問題を指定します。
95
+
96
+ ## 参考
97
+
98
+ `//reference{ 〜 //}` で参考情報を指定します。
99
+
100
+ ## 相互参照
101
+
102
+ `//label[〜]`でラベルを定義し、`@<labelref>{〜}`で参照します。
103
+ XMLとしては`<label id='〜' />`と`<labelref idref='〜' />`というタグに
104
+ 置き換えられます。
105
+ 実際にどのような相互参照関係にするかは、処理系に依存します。
106
+ 想定の用途では、章や節の番号およびタイトルを記憶し、labelrefの出現箇所
107
+ に"「節(あるいは章)番号 タイトル」"という文字列を配置します。
108
+
109
+ `@<chapref>`の展開形式を、`--chapref="前装飾文字列,中間装飾文字列,後装飾文字列"`
110
+ でコンパイル実行時に指定できます。デフォルトは`",「,」"`です。たとえば
111
+ "`第2章「コンパイラ」`" のように普通は展開されます。
112
+ `"「, ,」"`と指定すると、"`「第2章 コンパイラ」`" に展開されます。
113
+
114
+ ## 丸数字
115
+
116
+ `@<maru>{数値}` で丸数字を出力します。
117
+
118
+ ## キートップ
119
+
120
+ `@<keytop>{キー文字}` でキーボードマークを出力します。
121
+
122
+ ## 吹き出し
123
+
124
+ `@<balloon>{〜}` でコード内などでの吹き出しを作成します。吹き出しは右に寄せ
125
+ られ、記入した箇所から吹き出しまで線が引かれます。
126
+ `@<>`オペレータは入れ子ができないため、丸数字を使いたいときには`@maru[数値]`
127
+ という特別な書式を代わりに使います。
128
+
129
+ ## ロー指定
130
+
131
+ 現時点で Re:VIEW はブロックの入れ子処理ができないため、ロー指定で XML
132
+ エレメントを指定しなければならないこともあります。
133
+
134
+ インラインの`@<raw>{ 〜 }`の他に、単一行の`//raw[〜]`、ブロック版の `//rawblock{ 〜 //}` でも、フォーマット処理をせずにそのままの文字列が出力できます。
135
+
136
+ ## キャプションなし表
137
+
138
+ `//table{ 〜 //}` のように id もキャプションも付けないブロックを利用できます。
139
+ この場合、その表の連番付けを飛ばします。
140
+
141
+ ## 表セル幅の指定
142
+
143
+ `//tsize[1列目の幅,2列目の幅,...]` で、続く `//table` の表の列幅を指定します
144
+ (単位mm)。これを利用するときには、review2idgxml を実行する際、オプション
145
+ `--table=表幅` を付ける必要があります (表幅の単位は mm)。列幅指定の個数が
146
+ 実際の列数に満たない場合、残りの列は均等分割したものとなります。列幅の
147
+ 合計が表幅を超えるとエラーになります。
148
+
149
+ ## DTP 命令指定
150
+
151
+ `@<dtp>{ 〜 }` で InDesign 向けに「`<? dtp 〜 ?>`」型の XML インストラクション
152
+ を埋め込みます。処理系に渡す任意の文字列を指定できますが、次のような文字列
153
+ を特殊文字指定できます。
154
+
155
+ * maru 番号リストの各段落先頭で使い、このリスト段落の番号は丸数字であることを示す
156
+ * return 改行記号文字
157
+ * autopagenumber 現ページ番号
158
+ * nextpageunmber 次ページ番号
159
+ * previouspagenumber 前ページ番号
160
+ * sectionmarker セクションマーカー
161
+ * bulletcharacter ビュレット (ナカグロ)
162
+ * copyrightsymbol 著作権記号
163
+ * degreesymbol 度記号
164
+ * ellipsischaracter 省略記号
165
+ * forcedlinebreak 強制改行
166
+ * discretionarylinebreak 任意の改行
167
+ * paragraphsymbol 段落記号
168
+ * registeredtrademark 登録商標記号
169
+ * sectionsymbol セクション記号
170
+ * trademarksymbol 商標記号
171
+ * rightindenttab 右インデントタブ
172
+ * indentheretab 「ここまでインデント」タブ
173
+ * zerowidthnonjoiner 結合なし
174
+ * emdash EMダッシュ
175
+ * endash ENダッシュ
176
+ * discretionaryhyphen 任意ハイフン
177
+ * nonbreakinghyphen 分散禁止ハイフン
178
+ * endnestedstyle 先頭文字スタイルの終了文字
179
+ * doubleleftquote 左二重引用符
180
+ * doublerightquote 右二重引用符
181
+ * singleleftquote 左用符
182
+ * singlerightquote 右引用符
183
+ * singlestraightquote 半角一重左用符
184
+ * doublestraightquote 半角二重引用符
185
+ * emspace EMスペース
186
+ * enspace ENスペース
187
+ * flushspace フラッシュスペース
188
+ * hairspace 極細スペース
189
+ * nonbreakingspace 分散禁止スペース
190
+ * fixedwidthnonbreakingspace 分散禁止スペース(固定幅)
191
+ * textvariable 全角スペース
192
+ * thinspace 細いスペース
193
+ * figurespace 数字の間隔
194
+ * punctuationspace 句読点等の間隔
195
+ * sixthspace 1/6スペース
196
+ * quarterspace 1/4スペース
197
+ * thirdspace 1/3スペース
198
+ * columnbreak 改段
199
+ * framebreak 改フレーム
200
+ * pagebreak 改ページ
201
+ * oddpagebreak 奇数改ページ
202
+ * evenpagebreak 偶数改ページ
203
+ * footnotesymbol 脚注記号
@@ -0,0 +1,222 @@
1
+ # Re:VIEWクイックスタートガイド
2
+
3
+ Re:VIEW は、EWB や RD あるいは Wiki に似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。
4
+
5
+ 平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、テキスト、LaTeX、HTML、XML といった形式に変換できます。独自のカスタマイズも簡単です。
6
+
7
+ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布されており、自由に利用、改変、再配布できます。このライセンスは、Re:VIEW を使ってあなたが作成しようとする文書とは無関係であり、あなたの文書はこのライセンスに強制されることはありません。Re:VIEW のツールセットあるいは Re:VIEW を組み込んだシステムを配布あるいは販売しようとしているときには、ライセンスファイル COPYING をよく確認してください。
8
+
9
+ このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
10
+
11
+ ## セットアップ
12
+
13
+ Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。Mac OS X および Windows Cygwin でも動作可能です。Ruby gem、Git、Subversion のいずれかを使ってダウンロード・展開します。
14
+
15
+ なお、Re:VIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS についてはまったく制限はありません。
16
+
17
+ ### RubyGems を使う場合
18
+
19
+ 機能セットがまとまった区切りごとに、Re:VIEW の開発チームが Re:VIEW の gem を更新しています。
20
+
21
+ 次のように Re:VIEW の gem をインストールします。
22
+
23
+ ```bash
24
+ $ gem install review
25
+ ```
26
+
27
+ Ruby gem の bin ディレクトリにパスを通すようにしておいてください。
28
+
29
+ インストール後、最新の gem に追従するには次のようにします。
30
+
31
+ ```bash
32
+ $ gem update review
33
+ ```
34
+
35
+ ### Gitを使う場合
36
+
37
+ Re:VIEW は GitHub で開発されており、バージョン管理ツールの Git を使って最新の Re:VIEW コードを入手できます。Git は分岐が容易なので、独自のカスタマイズを施すのにも向いています。
38
+
39
+ 初めて取得するときには、次のようにします (コピーを作っています)。
40
+
41
+ ```bash
42
+ $ git clone git://github.com/kmuto/review.git
43
+ ```
44
+
45
+ review というディレクトリに展開されるので、review/bin にパスを通すようにしておいてください。
46
+
47
+ 最新の開発に追従するには次のようにします。
48
+
49
+ ```bash
50
+ $ git pull
51
+ ```
52
+
53
+ ### Subversionを使う場合
54
+
55
+ Git の最新コピーは、別のバージョン管理ツールの Subversion 向けにも提供しています (古い環境では Subversion のクライアントしか入っていないことがあります)。
56
+
57
+ 初めて取得するときには、次のようにします (コピーを作っています)。
58
+
59
+ ```bash
60
+ $ svn co https://kmuto.jp/svn/review/trunk review
61
+ ```
62
+
63
+ review というディレクトリに展開されるので、review/bin にパスを通すようにしておいてください。
64
+
65
+ 最新の開発に追従するには次のようにします。
66
+
67
+ ```
68
+ $ svn up
69
+ ```
70
+
71
+ # Re:VIEW テキストの作成と変換
72
+
73
+ セットアップを終えたら、Re:VIEW フォーマットのテキストを作り、変換できるようになります。次に Re:VIEW フォーマットテキストの簡単な例を示します。これを sample.re といった名前で保存します (拡張子も自由ですが、.re 拡張子を推奨します)。
74
+
75
+
76
+ ```review
77
+ = はじめてのRe:VIEW
78
+
79
+ //lead{
80
+ 「Hello, Re:VIEW.」
81
+ //}
82
+
83
+ == Re:VIEWとは
84
+
85
+ @<b>{Re:VIEW}は、EWBやRDあるいはWikiに似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。
86
+
87
+ 平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、次のような形式に変換できます。
88
+
89
+ * テキスト(指示タグ付き)
90
+ * LaTeX
91
+ * HTML
92
+ * XML
93
+
94
+ 現在入手手段としては次の3つがあります。
95
+
96
+ 1. Ruby gem
97
+ 2. Git
98
+ 3. Subversion
99
+
100
+ ホームページは@<tt>{https://github.com/kmuto/review/wiki/}です。
101
+ ```
102
+
103
+ テキストファイルの文字エンコーディングには、UTF-8 を使うことをお勧めします。Re:VIEW は日本語文字エンコーディングとして UTF-8、EUC-JP、Shift_JIS、JIS を扱うことができ、入力ファイルについては自動判別、出力ファイルについても選択可能 (デフォルトは UTF-8) ですが、入力・出力のいずれにおいても、使用可能な文字についての制限が少ない UTF-8 が最適です。
104
+
105
+ 次に、章構成ファイルの CHAPS ファイルを同じディレクトリに用意します。このファイルには、Re:VIEW フォーマットファイルの名前を格納します。
106
+
107
+ * sample.re
108
+
109
+ CHAPS ファイルの1行目に書いたものが第1章、2行目に書いたものが第2章、……と構成されます (CHAPS に似たものとして、前付けを列挙する PREDEF ファイル、後付けを列挙する POSTDEF ファイルがあります。これらを「カタログファイル」と呼びます)。
110
+
111
+ sample.re から目的の形式に変換するには、review-compile コマンドを使います。
112
+
113
+ ```bash
114
+ $ review-compile --target text sample.re > sample.txt ←テキストにする
115
+ $ review-compile --target html sample.re > sample.html ←HTMLにする
116
+ $ review-compile --target latex sample.re > sample.tex ←LaTeXにする
117
+ $ review-compile --target idgxml sample.re > sample.xml ←XMLにする
118
+ ```
119
+
120
+ 上記では各ファイル個別に変換することを想定して、標準出力をリダイレクトする書式を掲載していますが、-a オプションを付ければ、CHAPS、PREDEF、POSTDEF に従ってすべてのファイルを変換できます。
121
+
122
+ ```
123
+ $ review-compile --target html -a ←すべてのファイルをHTMLにする
124
+ ```
125
+
126
+ sample.re を HTML に変換すると、次のようになります。
127
+
128
+ ```html
129
+ <?xml version="1.0" encoding="UTF-8"?>
130
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
131
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="ja">
132
+ <head>
133
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
134
+ <meta http-equiv="Content-Style-Type" content="text/css" />
135
+ <meta name="generator" content="Re:VIEW" />
136
+ <title>はじめてのRe:VIEW</title>
137
+ </head>
138
+ <body>
139
+ <h1><a id="h1" />第1章 はじめてのRe:VIEW</h1>
140
+ <div class="lead">
141
+ <p>「Hello, Re:VIEW.」</p>
142
+ </div>
143
+
144
+ <h2><a id="h1-1" />1.1 Re:VIEWとは</h2>
145
+ <p><b>Re:VIEW</b>は、EWBやRDあるいはWikiに似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。</p>
146
+ <p>平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、次のような形式に変換できます。</p>
147
+ <ul>
148
+ <li>テキスト(指示タグ付き)</li>
149
+ <li>LaTeX</li>
150
+ <li>HTML</li>
151
+ <li>XML</li>
152
+ </ul>
153
+ <p>現在入手手段としては次の3つがあります。</p>
154
+ <ol>
155
+ <li>Ruby gem</li>
156
+ <li>Git</li>
157
+ <li>Subversion</li>
158
+ </ol>
159
+ <p>ホームページは<tt>https://github.com/kmuto/review/wiki/</tt>です。</p>
160
+ </body>
161
+ </html>
162
+ ```
163
+
164
+ Re:VIEW フォーマットについての詳細は、 [format.ja.md](https://github.com/kmuto/review/blob/master/doc/format.ja.md) を参照してください。
165
+
166
+ review-compile を含め、ほとんどのコマンドは `--help` オプションを付けるとオプションについてのヘルプが表示されます。`review-compile` には多数のオプションがあるので確認してください。
167
+
168
+ なお、`--target` で毎回指定するのは面倒なので、`review-compile` に対するシンボリックリンクを作成しておくとよいでしょう。「review2...」のコマンド名で呼び出せるようになります。
169
+
170
+ ```bash
171
+ $ cd Re:VIEWのインストールされたパス/bin
172
+ $ ln -s review-compile review2text
173
+ $ ln -s review-compile review2html
174
+ $ ln -s review-compile review2latex
175
+ $ ln -s review-compile review2idgxml
176
+ ```
177
+
178
+ ## プリプロセッサ、ボリューム表示
179
+
180
+ `#@mapfile`、`#@maprange`、`#@mapoutput` のタグを使って、指定のファイルの内容あるいはコマンドの実行結果を挿入できます。挿入・更新を行うには、プリプロセッサとなる review-preproc コマンドを使います。
181
+
182
+ ```bash
183
+ $ review-preproc ファイル > 結果ファイル ←標準出力をリダイレクト
184
+
185
+ ## または
186
+ $ review-preproc --replace ファイル ←ファイルを更新したもので上書き
187
+ ```
188
+
189
+ 各章の分量などを表示するには、review-vol コマンドを使います。
190
+
191
+ ```bash
192
+ $ review-vol
193
+ ```
194
+
195
+ より細かな見出し一覧などを出したいときには、review-index コマンドを使うのもよいでしょう。
196
+
197
+ ```bash
198
+ $ review-index --level 掘り下げる見出しレベル数 -a
199
+ ```
200
+
201
+ ## PDF 化と EPUB 化
202
+
203
+ review-pdfmaker コマンドで PDF ブックの作成、review-epubmaker コマンドで EPUB ファイルの作成ができます。
204
+
205
+ PDF を作成するには、TeXLive2012 以上の環境が必要です。EPUB を作成するには、zip コマンドが必要です (MathML も使いたいときには、 [MathML ライブラリ](http://www.hinet.mydns.jp/?mathml.rb)も必要です)。
206
+
207
+ いずれのコマンドも、必要な設定情報を記した YAML ファイルを引数に指定して実行します。YAML ファイルのサンプルは、 [sample.yml](https://github.com/kmuto/review/blob/master/doc/sample.yml) としてこのドキュメントと同じディレクトリに収録しています。
208
+
209
+ ```bash
210
+ $ review-pdfmaker YAMLファイル ←PDFの作成
211
+ $ review-epubmaker YAMLファイル ←EPUBの作成
212
+ ```
213
+
214
+ ## クレジット
215
+
216
+ Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2014年3月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
217
+
218
+ バグ・パッチの報告、開発者用メーリングリストなどについての情報は、
219
+
220
+ * https://github.com/kmuto/review/wiki
221
+
222
+ を参照してください。
data/doc/quickstart.md ADDED
@@ -0,0 +1,252 @@
1
+ # Re:VIEW Quick Start Guide
2
+
3
+ Re:VIEW is a toolset to convert from Re:VIEW format documents into various formats.
4
+
5
+ Re:VIEW uses original lightweight markup language like EWB, RD or Wiki. Its syntax is simple but powerful for writing IT documents.
6
+ When you write your documents in Re:VIEW format, you can convert them with Re:VIEW tools into LaTeX, HTML, EPUB, InDesign, Text, and so on.
7
+
8
+ Re:VIEW is free software under the terms of the GNU Lesser General Public License Version 2.1, so you can use, modify and redistribute it. This license has no relations with your documents using Re:VIEW, so your documents are not forced to use this license. When you want to distribute Re:VIEW software itself or the system including Re:VIEW software, you should read COPYING file carefully.
9
+
10
+ This article describes how to setup Re:VIEW and use it.
11
+
12
+ ## Set up Re:VIEW
13
+
14
+ Re:VIEW is a software in Ruby and worked in Linux/Unix, Mac OS X, and Cygwin. You can install Re:VIEW with RubyGems, Git or Subversion.
15
+
16
+ Note that Re:VIEW format is tagged text file, so you can write it on any editors and OSes.
17
+
18
+ ### using RubyGmes
19
+
20
+ Re:VIEW is released as RubyGems.
21
+
22
+ * https://rubygems.org/gems/review
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```Gemfile
27
+ gem 'review'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```bash
39
+ $ gem install review
40
+ ```
41
+
42
+ ### using Git
43
+
44
+ You can get latest Re:VIEW sources from GitHub.
45
+
46
+ ```bash
47
+ $ git clone git://github.com/kmuto/review.git
48
+ ```
49
+
50
+ You can use Re:VIEW to add `review/bin` directory to `$PATH` variable.
51
+
52
+ You can update the sources as follows:
53
+
54
+ ```bash
55
+ $ git pull
56
+ ```
57
+
58
+ ### using Subversion
59
+
60
+ For non git users and environments, Re:VIEW is also distributed with Subversion.
61
+
62
+ ```bash
63
+ $ svn co https://kmuto.jp/svn/review/trunk review
64
+ ```
65
+
66
+ You can use Re:VIEW to add `review/bin` directory to `$PATH` variable.
67
+
68
+ You can update the sources as follows:
69
+
70
+ ```bash
71
+ $ svn up
72
+ ```
73
+
74
+ # writing Re:VIEW documents and converting them
75
+
76
+ After setup, you can use `review-init` command to generate Re:VIEW project directory.
77
+
78
+ To generate `hello` project:
79
+
80
+ ```bash
81
+ $ review-init hello
82
+ $ cd hello
83
+ $ ls hello
84
+ Rakefile catalog.yml config.yml hello.re images/ layouts/ sty/ style.css
85
+ ```
86
+
87
+ In `hello` directory, many files are generated. `*.re` files are Re:VIEW format file.
88
+ If you make `hello` project, a file `hello.re` is generated.
89
+
90
+ `catalog.yml` file is a catalog of Re:VIEW format files.
91
+
92
+ ```bash
93
+ $ cat catalog.yml
94
+ PREDEF:
95
+
96
+ CHAPS:
97
+ - hello.re
98
+
99
+ APPENDIX:
100
+
101
+ POSTDEF:
102
+ ```
103
+
104
+ The first item in CHAPS is the first chapter, and the second item (if you add) is the second chapter. PREDEF is for front matter, APPENDIX is for appendix, and POSTDEF is for back matter.
105
+
106
+ If you create new `*.re` files as new chapters, you should add the name of files into `catalog.yml`.
107
+
108
+ Now you can edit `hello.re`. A simple example of Re:VIEW format text is as follows.
109
+
110
+
111
+ ```review
112
+ = my first Re:VIEW
113
+
114
+ //lead{
115
+ "Hello, Re:VIEW."
116
+ //}
117
+
118
+ == What's Re:VIEW
119
+
120
+ @<b>{Re:VIEW} is a converter from simple markup documents into various formats.
121
+
122
+ You can generate documents as follows:
123
+
124
+ * text with tagging
125
+ * LaTeX
126
+ * HTML
127
+ * XML
128
+
129
+ You can install Re:VIEW with:
130
+
131
+ 1. RubyGems
132
+ 2. Git
133
+ 3. Subversion
134
+
135
+ For more information, see @<tt>{https://github.com/kmuto/review/wiki/}.
136
+ ```
137
+
138
+ You should use UTF-8 as encodings in text files.
139
+
140
+ To convert hello.re, you can use `review-compile` command.
141
+
142
+ ```bash
143
+ $ review-compile --target html hello.re > hello.html ## generating HTML
144
+ $ review-compile --target latex hello.re > hello.tex ## generating LaTeX
145
+ $ review-compile --target idgxml hello.re > hello.xml ## generating XML for InDesing
146
+ ```
147
+
148
+ You can convert all `*.re` files in `catalog.yml` with `-a` option.
149
+
150
+ ```
151
+ $ review-compile --target html -a ## convert all files into HTML
152
+ ```
153
+
154
+ You can get HTML file as follows:
155
+
156
+ ```html
157
+ <?xml version="1.0" encoding="UTF-8"?>
158
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
159
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="ja">
160
+ <head>
161
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
162
+ <meta http-equiv="Content-Style-Type" content="text/css" />
163
+ <link rel="stylesheet" type="text/css" href="style.css" />
164
+ <meta name="generator" content="Re:VIEW" />
165
+ <title>my first Re:VIEW</title>
166
+ </head>
167
+ <body>
168
+ <h1><a id="h1"></a>第1章 my first Re:VIEW</h1>
169
+ <div class="lead">
170
+ <p>&quot;Hello, Re:VIEW.&quot;</p>
171
+ </div>
172
+
173
+ <h2><a id="h1-1"></a>1.1 What's Re:VIEW</h2>
174
+ <p><b>Re:VIEW</b> is a converter from simple markup documents into various formats.</p>
175
+ <p>You can generate documents as follows:</p>
176
+ <ul>
177
+ <li>text with tagging</li>
178
+ <li>LaTeX</li>
179
+ <li>HTML</li>
180
+ <li>XML</li>
181
+ </ul>
182
+ <p>You can install Re:VIEW with:</p>
183
+ <ol>
184
+ <li>RubyGems</li>
185
+ <li>Git</li>
186
+ <li>Subversion</li>
187
+ </ol>
188
+ <p>For more information, see <tt>https://github.com/kmuto/review/wiki/</tt>.</p>
189
+
190
+ </body>
191
+ </html>
192
+ ```
193
+
194
+ For more information about Re:VIEW format, see [format.md](https://github.com/kmuto/review/blob/master/doc/format.md).
195
+
196
+ review-compile and other commands in Re:VIEW has `--help` option to output help. `review-compile` has many options, so you may see them.
197
+
198
+ If you don't want to type `--target` every time, you can use symbolic links to `review-compile`. You can use new commands `review2html` and so on.
199
+
200
+ ```bash
201
+ $ cd path/to/review/bin
202
+ $ ln -s review-compile review2text
203
+ $ ln -s review-compile review2html
204
+ $ ln -s review-compile review2latex
205
+ $ ln -s review-compile review2idgxml
206
+ ```
207
+
208
+ ## preprocessor and other commands
209
+
210
+ With Re:VIEW tags such as `#@mapfile`, `#@maprange` and `#@mapoutput`, you can include content of files or result of command execution. To do so, you use `review-preproc` command.
211
+
212
+ ```bash
213
+ $ review-preproc hello_orig.re > hello.re ## redirect stdout into file
214
+
215
+ ## also:
216
+ $ review-preproc --replace hello.re ## update files overwriting
217
+ ```
218
+
219
+ You can use `review-vol` command to know the volume of the document.
220
+
221
+ ```bash
222
+ $ review-vol
223
+ ```
224
+
225
+ You can also use `review-index` command to generate header list.
226
+
227
+ ```bash
228
+ $ review-index --level <heading level> -a
229
+ ```
230
+
231
+ ## generating PDF and EPUB
232
+
233
+ You can generate PDF and EPUB as:
234
+
235
+ ```bash
236
+ $ review-pdfmaker config.yml ## generate PDF
237
+ $ review-epubmaker config.yml ## generate EPUB
238
+ ```
239
+
240
+ To generate PDF, you should install TeXLive 2012 or later. To generate EPUB, you should install zip command.
241
+ When you want to use MathML, you should install [MathML library](http://www.hinet.mydns.jp/?mathml.rb)
242
+
243
+ `review-pdfmaker` and `review-epubmaker` need `config.yml`, configuration YAML files. There is a sample YAML file [sample.yml](https://github.com/kmuto/review/blob/master/doc/sample.yml) in the same directory of this document.
244
+
245
+
246
+ ## Copyright
247
+
248
+ The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (2015/01).
249
+
250
+ If you want to report bugs and patches, or to get more information, see:
251
+
252
+ * https://github.com/kmuto/review/wiki