review 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-win.yml +39 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.rubocop.yml +10 -7
- data/Dockerfile +21 -5
- data/NEWS.ja.md +101 -1
- data/NEWS.md +102 -2
- data/README.md +10 -7
- data/appveyor.yml +0 -20
- data/bin/review-compile +1 -1
- data/bin/review-validate +1 -1
- data/doc/config.yml.sample +12 -1
- data/doc/config.yml.sample-simple +1 -0
- data/doc/format.ja.md +16 -4
- data/doc/format.md +2 -1
- data/doc/quickstart.ja.md +40 -23
- data/doc/quickstart.md +33 -15
- data/lib/review/book/base.rb +8 -7
- data/lib/review/book/index.rb +50 -56
- data/lib/review/book/index/item.rb +1 -1
- data/lib/review/builder.rb +26 -4
- data/lib/review/compiler.rb +6 -3
- data/lib/review/configure.rb +5 -3
- data/lib/review/epubmaker.rb +15 -2
- data/lib/review/extentions/string.rb +0 -4
- data/lib/review/htmlbuilder.rb +4 -15
- data/lib/review/idgxmlbuilder.rb +10 -19
- data/lib/review/idgxmlmaker.rb +10 -3
- data/lib/review/init.rb +8 -1
- data/lib/review/latexbuilder.rb +13 -6
- data/lib/review/pdfmaker.rb +24 -9
- data/lib/review/rstbuilder.rb +2 -2
- data/lib/review/textmaker.rb +7 -1
- data/lib/review/tocparser.rb +6 -2
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +8 -1
- data/review.gemspec +2 -2
- data/samples/sample-book/src/.gitignore +1 -0
- data/samples/sample-book/src/config-ebook.yml +4 -0
- data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
- data/samples/sample-book/src/config.yml +1 -1
- data/samples/sample-book/src/lib/tasks/review.rake +10 -6
- data/samples/syntax-book/ch01.re +4 -2
- data/samples/syntax-book/ch02.re +8 -16
- data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
- data/samples/syntax-book/config-print.yml +3 -0
- data/samples/syntax-book/config.yml +1 -1
- data/samples/syntax-book/lib/tasks/review.rake +23 -8
- data/templates/latex/config.erb +6 -6
- data/templates/latex/review-jlreq/review-base.sty +14 -4
- data/templates/latex/review-jlreq/review-jlreq.cls +10 -1
- data/templates/latex/review-jlreq/review-style.sty +1 -1
- data/templates/latex/review-jsbook/review-base.sty +10 -0
- data/templates/latex/review-jsbook/review-jsbook.cls +1 -1
- data/templates/latex/review-jsbook/review-style.sty +1 -1
- data/test/assets/test_template.tex +6 -6
- data/test/assets/test_template_backmatter.tex +6 -6
- data/test/test_book.rb +8 -0
- data/test/test_book_chapter.rb +4 -2
- data/test/test_catalog.rb +1 -0
- data/test/test_epubmaker_cmd.rb +12 -5
- data/test/test_helper.rb +11 -6
- data/test/test_htmlbuilder.rb +80 -8
- data/test/test_idgxmlbuilder.rb +57 -2
- data/test/test_idgxmlmaker_cmd.rb +46 -0
- data/test/test_image_finder.rb +52 -70
- data/test/test_index.rb +12 -12
- data/test/test_latexbuilder.rb +171 -8
- data/test/test_latexbuilder_v2.rb +9 -7
- data/test/test_pdfmaker_cmd.rb +99 -5
- data/test/test_textmaker_cmd.rb +54 -0
- data/test/test_topbuilder.rb +59 -0
- data/vendor/jsclasses/LICENSE +1 -1
- data/vendor/jsclasses/jis/jsarticle.cls +53 -14
- data/vendor/jsclasses/jis/jsbook.cls +53 -14
- data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
- data/vendor/jsclasses/jis/jslogo.dtx +4 -4
- data/vendor/jsclasses/jis/jslogo.sty +3 -3
- data/vendor/jsclasses/jis/jspf.cls +52 -13
- data/vendor/jsclasses/jis/jsreport.cls +53 -14
- data/vendor/jsclasses/jis/kiyou.cls +53 -14
- data/vendor/jsclasses/jis/okumacro.dtx +4 -5
- data/vendor/jsclasses/jis/okumacro.sty +3 -4
- data/vendor/jsclasses/jsarticle.cls +53 -14
- data/vendor/jsclasses/jsbook.cls +53 -14
- data/vendor/jsclasses/jsclasses.dtx +84 -25
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.dtx +4 -4
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +3 -3
- data/vendor/jsclasses/jspf.cls +52 -13
- data/vendor/jsclasses/jsreport.cls +53 -14
- data/vendor/jsclasses/kiyou.cls +53 -14
- data/vendor/jsclasses/okumacro.dtx +4 -5
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +3 -4
- metadata +15 -6
- data/samples/syntax-book/review-ext.rb +0 -14
data/appveyor.yml
CHANGED
|
@@ -6,21 +6,6 @@ install:
|
|
|
6
6
|
build_script:
|
|
7
7
|
- bundle install
|
|
8
8
|
- bundle exec rake test --trace --verbose
|
|
9
|
-
- bundle exec rubocop
|
|
10
|
-
|
|
11
|
-
before_test:
|
|
12
|
-
- gem install -N epubcheck-ruby
|
|
13
|
-
|
|
14
|
-
test_script:
|
|
15
|
-
- ruby bin/review-init hello
|
|
16
|
-
- cd hello
|
|
17
|
-
- ruby ../bin/review-epubmaker config.yml
|
|
18
|
-
- epubcheck book.epub
|
|
19
|
-
- cd ..
|
|
20
|
-
- ruby bin/review-init hello2 --epub-version 2
|
|
21
|
-
- cd hello2
|
|
22
|
-
- ruby ../bin/review-epubmaker config.yml
|
|
23
|
-
- epubcheck book.epub
|
|
24
9
|
|
|
25
10
|
branches:
|
|
26
11
|
only:
|
|
@@ -28,9 +13,4 @@ branches:
|
|
|
28
13
|
|
|
29
14
|
environment:
|
|
30
15
|
matrix:
|
|
31
|
-
- ruby_version: "24"
|
|
32
|
-
- ruby_version: "24-x64"
|
|
33
|
-
- ruby_version: "25"
|
|
34
|
-
- ruby_version: "25-x64"
|
|
35
16
|
- ruby_version: "26"
|
|
36
|
-
- ruby_version: "26-x64"
|
data/bin/review-compile
CHANGED
|
@@ -35,7 +35,7 @@ def _main
|
|
|
35
35
|
@logger = ReVIEW.logger
|
|
36
36
|
@mode = :files
|
|
37
37
|
@basedir = nil
|
|
38
|
-
if
|
|
38
|
+
if File.basename($PROGRAM_NAME).start_with?('review2')
|
|
39
39
|
@target = File.basename($PROGRAM_NAME, '.rb').sub('review2', '')
|
|
40
40
|
else
|
|
41
41
|
@target = nil
|
data/bin/review-validate
CHANGED
|
@@ -30,7 +30,7 @@ ARGF.each do |line|
|
|
|
30
30
|
@logger.warn "#{ln}: block #{new_block} started, but previous block #{block} didn't close yet."
|
|
31
31
|
end
|
|
32
32
|
block = new_block
|
|
33
|
-
elsif line
|
|
33
|
+
elsif line.start_with?('//}')
|
|
34
34
|
if block.nil?
|
|
35
35
|
@logger.warn "#{ln}: block ended, but not opened."
|
|
36
36
|
end
|
data/doc/config.yml.sample
CHANGED
|
@@ -64,6 +64,8 @@ aut: ["青木峰郎", "武藤健志", "高橋征義", "角征典"]
|
|
|
64
64
|
# a-trc, trc: 筆記・タイプ作業者
|
|
65
65
|
# a-trl, trl: 翻訳者
|
|
66
66
|
|
|
67
|
+
# contact: 連絡先
|
|
68
|
+
|
|
67
69
|
# 刊行日(省略した場合は実行時の日付)
|
|
68
70
|
# date: 2018-11-11
|
|
69
71
|
# 発行年月。YYYY-MM-DD形式による配列指定。省略した場合はdateを使用する
|
|
@@ -137,7 +139,10 @@ toc: true
|
|
|
137
139
|
# creditfile: null
|
|
138
140
|
|
|
139
141
|
# 奥付を作成するか。デフォルトでは作成されない。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
|
|
142
|
+
# デフォルトの奥付における各項目の名前(「著 者」など)を変えたいときにはlocale.ymlで文字列を設定する(詳細はdoc/format.ja.mdを参照)
|
|
140
143
|
# colophon: null
|
|
144
|
+
# デフォルトの奥付における、各項目の記載順序
|
|
145
|
+
# colophon_order: ["aut", "csl", "trl", "dsr", "ill", "cov", "edt", "pbl", "contact", "prt"]
|
|
141
146
|
|
|
142
147
|
# 裏表紙データファイル (PDFMaker向けにはLaTeXソース断片、EPUBMaker向けにはHTMLファイル)
|
|
143
148
|
# backcover: null
|
|
@@ -173,9 +178,12 @@ toc: true
|
|
|
173
178
|
# reファイルを格納するディレクトリ。省略した場合は以下 (. はカレントディレクトリを示す)
|
|
174
179
|
# contentdir: .
|
|
175
180
|
|
|
176
|
-
# @<w
|
|
181
|
+
# @<w>命令で使用する単語ファイルのパス。["common.csv", "mybook.csv"]のように配列指定も可
|
|
177
182
|
# words_file: words.csv
|
|
178
183
|
|
|
184
|
+
# //table命令における列の区切り文字。tabs (1文字以上のタブ文字区切り。デフォルト), singletab (1文字のタブ文字区切り), spaces (1文字以上のスペースまたはタブ文字の区切り), verticalbar ("0個以上の空白 | 0個以上の空白"の区切り)
|
|
185
|
+
# table_row_separator: tabs
|
|
186
|
+
|
|
179
187
|
# review-vol向けのヒント情報
|
|
180
188
|
# 1ページの行数文字数と1kbごとのページ数を用紙サイズで指定する(A5 or B5)
|
|
181
189
|
# page_metric: A5
|
|
@@ -373,6 +381,9 @@ pdfmaker:
|
|
|
373
381
|
# 画像のscale=X.Xという指定を画像拡大縮小率からページ最大幅の相対倍率に変換する
|
|
374
382
|
# image_scale2width: true
|
|
375
383
|
#
|
|
384
|
+
# 画像のデフォルトのサイズを、版面横幅合わせではなく、原寸をそのまま利用する
|
|
385
|
+
# use_original_image_size: null
|
|
386
|
+
#
|
|
376
387
|
# PDFやIllustratorファイル(.ai)の画像のBoudingBoxの抽出に指定のボックスを採用する
|
|
377
388
|
# cropbox(デフォルト), mediabox, artbox, trimbox, bleedboxから選択する。
|
|
378
389
|
# Illustrator CC以降のIllustratorファイルに対してはmediaboxを指定する必要がある
|
|
@@ -20,6 +20,7 @@ aut: ["Masayoshi Takahashi"]
|
|
|
20
20
|
# edt: null
|
|
21
21
|
pbl: "Re:VIEW Publishing inc."
|
|
22
22
|
prt: "Re:VIEW Printing inc."
|
|
23
|
+
contact: "https://reviewml.org/"
|
|
23
24
|
date: 2018-11-11
|
|
24
25
|
history: [["2012-01-30"],["2016-04-20","2016-05-03"],["2018-11-11"]]
|
|
25
26
|
rights: (C) 2016-2019 Re:VIEW Commiters, some rights reserved.
|
data/doc/format.ja.md
CHANGED
|
@@ -264,11 +264,23 @@ puts "hello world!"
|
|
|
264
264
|
|
|
265
265
|
```review
|
|
266
266
|
//source[/hello/world.rb]{
|
|
267
|
-
puts "hello world!"
|
|
267
|
+
puts "hello world!" # キャプションあり
|
|
268
|
+
//}
|
|
269
|
+
|
|
270
|
+
//source{
|
|
271
|
+
puts "hello world!" # キャプションなし
|
|
272
|
+
//}
|
|
273
|
+
|
|
274
|
+
//source[/hello/world.rb][ruby]{
|
|
275
|
+
puts "hello world!" # キャプションあり、ハイライトあり
|
|
276
|
+
//}
|
|
277
|
+
|
|
278
|
+
//source[][ruby]{
|
|
279
|
+
puts "hello world!" # キャプションなし、ハイライトあり
|
|
268
280
|
//}
|
|
269
281
|
```
|
|
270
282
|
|
|
271
|
-
|
|
283
|
+
ソースコードの引用は、`//emlist` とほぼ同じです。HTML の CSS などでは区別した表現ができます。
|
|
272
284
|
|
|
273
285
|
## 本文中でのソースコード引用
|
|
274
286
|
|
|
@@ -312,7 +324,7 @@ V1 --> V6 --|
|
|
|
312
324
|
//}
|
|
313
325
|
```
|
|
314
326
|
|
|
315
|
-
3番目の引数として、画像の倍率・大きさを指定することができます。今のところ「scale=X」で倍率(X 倍)を指定でき、HTML、TeX ともに紙面(画面)幅に対しての倍率となります(0.5 なら半分の幅になります)。
|
|
327
|
+
3番目の引数として、画像の倍率・大きさを指定することができます。今のところ「scale=X」で倍率(X 倍)を指定でき、HTML、TeX ともに紙面(画面)幅に対しての倍率となります(0.5 なら半分の幅になります)。3番目の引数をたとえば HTML と TeX で分けたい場合は、`html::style="transform: scale(0.5);",latex::scale=0.5` のように `::` でビルダを明示し、`,` でオプションを区切って指定できます。
|
|
316
328
|
|
|
317
329
|
※TeX において原寸からの倍率にしたいときには、`config.yml` に `image_scale2width: false` を指定してください。
|
|
318
330
|
|
|
@@ -790,7 +802,7 @@ Web ハイパーリンクを記述するには、リンクに `@<href>`、アン
|
|
|
790
802
|
"i18n","""i""nternationalizatio""n"""
|
|
791
803
|
```
|
|
792
804
|
|
|
793
|
-
単語ファイルのファイルパスは、`config.yml` に `words_file: ファイルパス`
|
|
805
|
+
単語ファイルのファイルパスは、`config.yml` に `words_file: ファイルパス` で指定します。`word_file: ["common.csv", "mybook.csv"]` のように複数のファイルも指定可能です(同一のキーがあるときには後に指定したファイルの値が優先されます)。
|
|
794
806
|
|
|
795
807
|
例:
|
|
796
808
|
|
data/doc/format.md
CHANGED
|
@@ -355,6 +355,7 @@ V1 --> V6 --|
|
|
|
355
355
|
```
|
|
356
356
|
|
|
357
357
|
The third option is used to define the scale of images. `scale=X` is scaling for page width (`scale=0.5` makes image width to be half of page width).
|
|
358
|
+
If you'd like to use different values for each builders, such as HTML and TeX, you can specify the target builders using `::`. Example: `html::style="transform: scale(0.5);",latex::scale=0.5`
|
|
358
359
|
|
|
359
360
|
When you want to refer images such as "see figure 1.", you can use
|
|
360
361
|
inline reference markup like `@<img>{unixhistory}`.
|
|
@@ -850,7 +851,7 @@ This word file is a CSV file with extension .csv. This first columns is the key,
|
|
|
850
851
|
"i18n","""i""nternationalizatio""n"""
|
|
851
852
|
```
|
|
852
853
|
|
|
853
|
-
Specify the word file path in `words_file` parameter of `config.yml`.
|
|
854
|
+
Specify the word file path in `words_file` parameter of `config.yml`. You can specify multiple word files as `word_file: ["common.csv", "mybook.csv"]`.
|
|
854
855
|
|
|
855
856
|
Usage:
|
|
856
857
|
|
data/doc/quickstart.ja.md
CHANGED
|
@@ -8,11 +8,11 @@ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布
|
|
|
8
8
|
|
|
9
9
|
このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
|
|
10
10
|
|
|
11
|
-
このドキュメントは、Re:VIEW
|
|
11
|
+
このドキュメントは、Re:VIEW 4.0 に基づいています。
|
|
12
12
|
|
|
13
13
|
## セットアップ
|
|
14
14
|
|
|
15
|
-
Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。macOS および Windows
|
|
15
|
+
Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。macOS および Windows でも動作可能です。Ruby gem あるいは Git のいずれかを使ってダウンロード・展開します。
|
|
16
16
|
|
|
17
17
|
なお、Re:VIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS については UTF-8 文字エンコーディングさえ使用できれば制限はありません。
|
|
18
18
|
|
|
@@ -34,7 +34,7 @@ Ruby gem の bin ディレクトリにパスを通すようにしておいてく
|
|
|
34
34
|
$ gem update review
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Gemfile を使っている場合は、以下の行を Gemfile に追加して、`bundle
|
|
37
|
+
Gemfile を使っている場合は、以下の行を Gemfile に追加して、`bundle` コマンドを実行します。
|
|
38
38
|
|
|
39
39
|
```Gemfile
|
|
40
40
|
gem 'review'
|
|
@@ -58,29 +58,37 @@ review というディレクトリに展開されるので、review/bin にパ
|
|
|
58
58
|
$ git pull
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
## Re:VIEW
|
|
61
|
+
## Re:VIEW プロジェクトの作成
|
|
62
62
|
|
|
63
63
|
### 雛型の作成
|
|
64
|
-
review-init
|
|
64
|
+
review-init コマンドを使って、雛型となるプロジェクトフォルダを作成できます。
|
|
65
65
|
|
|
66
66
|
```
|
|
67
|
-
$ review-init
|
|
67
|
+
$ review-init プロジェクト名
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
TeX を利用した PDF 作成を目的としているならば、雛型の作成時に、Web ブラウザによるウィザードモードで基本版面設計を行うことができます。これには `-w` オプションを付けます。
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
```
|
|
73
|
+
$ review-init -w プロジェクト名
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
「http://localhost:18000」に Web ブラウザでアクセスし、文字数×行数および余白を調整できます。
|
|
77
|
+
|
|
78
|
+
これで指定のプロジェクト名のフォルダが用意され、中に次のようなファイルが置かれます。
|
|
79
|
+
|
|
80
|
+
* プロジェクト名を冠した「.re」拡張子を持つファイル(Re:VIEW フォーマットテキストファイル)
|
|
73
81
|
* config.yml : 設定ファイル
|
|
82
|
+
* config-ebook.yml : 電子ブック用設定ファイル(ウィザードモード使用時)
|
|
74
83
|
* catalog.yml : カタログファイル(目次構成)
|
|
75
84
|
* Rakefile : rake コマンドのルールファイル
|
|
76
85
|
* images : 画像の配置フォルダ
|
|
77
|
-
* layouts : レイアウトファイルの配置フォルダ
|
|
78
86
|
* style.css : サンプルスタイルシート
|
|
79
87
|
* sty : スタイルファイル配置フォルダ(TeX 用)
|
|
80
88
|
* doc : 本ドキュメントを含む使い方のドキュメント
|
|
81
89
|
* lib : 主に rake コマンドの詳細ルールファイル
|
|
82
90
|
|
|
83
|
-
review-init
|
|
91
|
+
review-init コマンドによらず、独自にプロジェクトフォルダを作成してもかまいません。
|
|
84
92
|
|
|
85
93
|
### Re:VIEW テキストの作成と変換
|
|
86
94
|
|
|
@@ -115,28 +123,37 @@ review-init コマンドによらず、独自に作業フォルダを作成し
|
|
|
115
123
|
|
|
116
124
|
テキストファイルの文字エンコーディングには、UTF-8 を使用してください。
|
|
117
125
|
|
|
118
|
-
### PDF 化と EPUB
|
|
126
|
+
### PDF 化と EPUB 化、プレインテキスト化、XML 化
|
|
127
|
+
|
|
128
|
+
review-*maker コマンドで一括して変換作成ができます。
|
|
119
129
|
|
|
120
|
-
review-pdfmaker
|
|
130
|
+
- review-pdfmaker コマンド:PDF ブックの作成
|
|
131
|
+
- review-epubmaker コマンド:EPUB ファイルの作成
|
|
132
|
+
- review-textmaker コマンド:プレインテキストの作成
|
|
133
|
+
- review-idgxmlmaker コマンド:InDesign XML の作成
|
|
121
134
|
|
|
122
135
|
PDF を作成するには、TeXLive2012 以上の環境が必要です。EPUB を作成するには、rubyzip gem あるいは zip コマンドが必要です(MathML も使いたいときには、 [MathML ライブラリ](http://www.hinet.mydns.jp/?mathml.rb)も必要です)。
|
|
123
136
|
|
|
124
137
|
いずれのコマンドも、必要な設定情報を記した YAML 形式ファイルを引数に指定して実行します。review-init コマンドで作成した環境には、デフォルトで config.yml として用意されているので、これを利用します。
|
|
125
138
|
|
|
126
139
|
```bash
|
|
127
|
-
$ review-pdfmaker config.yml
|
|
128
|
-
$ review-
|
|
129
|
-
$ review-
|
|
130
|
-
$ review-textmaker
|
|
140
|
+
$ review-pdfmaker config.yml ←PDFの作成
|
|
141
|
+
$ review-pdfmaker config-ebook.yml ←電子ブック設定でのPDFの作成
|
|
142
|
+
$ review-epubmaker config.yml ←EPUBの作成
|
|
143
|
+
$ review-textmaker config.yml ←テキストの作成(装飾情報あり)
|
|
144
|
+
$ review-textmaker -n config.yml ←テキストの作成(装飾情報なし)
|
|
145
|
+
$ review-idgxmlmaker config.yml ←InDesign XMLの作成
|
|
131
146
|
```
|
|
132
147
|
|
|
133
148
|
rake コマンドを利用できるなら、次のように実行することもできます。
|
|
134
149
|
|
|
135
150
|
```bash
|
|
136
151
|
$ rake pdf ←PDFの作成
|
|
152
|
+
$ REVIEW_CONFIG_FILE=config-ebook.yml rake pdf ←電子ブック設定でのPDFの作成
|
|
137
153
|
$ rake epub ←EPUBの作成
|
|
138
154
|
$ rake text ←テキストの作成(装飾情報あり)
|
|
139
155
|
$ rake plaintext ←テキストの作成(装飾情報なし)
|
|
156
|
+
$ rake idgxml ←InDesign XMLの作成
|
|
140
157
|
```
|
|
141
158
|
|
|
142
159
|
config.yml のサンプルについては以下を参照してください。
|
|
@@ -177,7 +194,7 @@ Re:VIEW の使用実例については、https://github.com/reviewml/review-samp
|
|
|
177
194
|
$ review-compile --target text sample.re > sample.txt ←テキストにする
|
|
178
195
|
$ review-compile --target html sample.re > sample.html ←HTMLにする
|
|
179
196
|
$ review-compile --target latex sample.re > sample.tex ←LaTeXにする
|
|
180
|
-
$ review-compile --target idgxml sample.re > sample.xml ←XMLにする
|
|
197
|
+
$ review-compile --target idgxml sample.re > sample.xml ←InDesign XMLにする
|
|
181
198
|
$ review-compile --target markdown sample.re > sample.md ←Markdownにする
|
|
182
199
|
```
|
|
183
200
|
|
|
@@ -206,14 +223,14 @@ $ review-vol
|
|
|
206
223
|
$ review-index --level 掘り下げる見出しレベル数 -a
|
|
207
224
|
```
|
|
208
225
|
|
|
209
|
-
##
|
|
226
|
+
## プロジェクトフォルダを新しい Re:VIEW バージョンに追従する方法
|
|
210
227
|
|
|
211
|
-
Re:VIEW
|
|
228
|
+
Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、プロジェクトフォルダを新しいバージョンに更新する review-update コマンドを利用します。
|
|
212
229
|
|
|
213
230
|
```bash
|
|
214
231
|
$ review-update
|
|
215
|
-
** review-update はプロジェクトを
|
|
216
|
-
config.yml: 'review_version' を '
|
|
232
|
+
** review-update はプロジェクトを 4.0.0 に更新します **
|
|
233
|
+
config.yml: 'review_version' を '4.0' に更新しますか? [y]/n ←Enterで実行
|
|
217
234
|
Rakefile は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/Rakefile) で置き換えられます。本当に進めますか? [y]/n
|
|
218
235
|
lib/tasks/review.rake は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/lib/tasks/review.rake) で置き換えられます。本当に進めますか? [y]/n
|
|
219
236
|
INFO: 新しいファイル /.../sty/plistings.sty が作成されました。
|
|
@@ -229,9 +246,9 @@ INFO: 新しいファイル /.../sty/gentombow.sty が作成されました。
|
|
|
229
246
|
|
|
230
247
|
## クレジット
|
|
231
248
|
|
|
232
|
-
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2019年
|
|
249
|
+
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2019年12月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
|
|
233
250
|
|
|
234
|
-
|
|
251
|
+
バグ・パッチの報告、その他の情報は、
|
|
235
252
|
|
|
236
253
|
* http://reviewml.org/
|
|
237
254
|
* https://github.com/kmuto/review/wiki
|
data/doc/quickstart.md
CHANGED
|
@@ -9,7 +9,7 @@ Re:VIEW is free software under the terms of the GNU Lesser General Public Licens
|
|
|
9
9
|
|
|
10
10
|
This article describes how to setup Re:VIEW and use it.
|
|
11
11
|
|
|
12
|
-
The supported version of the article is Re:VIEW
|
|
12
|
+
The supported version of the article is Re:VIEW 4.0.
|
|
13
13
|
|
|
14
14
|
## Set up Re:VIEW
|
|
15
15
|
|
|
@@ -59,7 +59,7 @@ $ git pull
|
|
|
59
59
|
|
|
60
60
|
## Writing Re:VIEW Document
|
|
61
61
|
|
|
62
|
-
### Generating template
|
|
62
|
+
### Generating template files
|
|
63
63
|
|
|
64
64
|
After setup, you can use `review-init` command to generate Re:VIEW project directory.
|
|
65
65
|
|
|
@@ -72,14 +72,23 @@ $ ls hello
|
|
|
72
72
|
Rakefile catalog.yml config.yml hello.re images/ layouts/ sty/ style.css
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
+
If your purpose is to create a PDF using TeX, it is a good idea to use the wizard mode for basic layouting in a web browser. Add `-w` option to review-init.
|
|
76
|
+
|
|
77
|
+
(notice: currently wizard UI supports only Japanese language)
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
$ review-init -w hello
|
|
81
|
+
(access http://localhost:18000 on Web browser)
|
|
82
|
+
```
|
|
83
|
+
|
|
75
84
|
In `hello` directory, many files are generated.
|
|
76
85
|
|
|
77
86
|
* `*.re` : Re:VIEW format file.
|
|
78
87
|
* config.yml : configuration file
|
|
88
|
+
* config-ebook.yml : configuration file for ebook (when using the wizard mode)
|
|
79
89
|
* catalog.yml : catalog file (for TOC)
|
|
80
90
|
* Rakefile : rule file for `rake` command
|
|
81
91
|
* images : folder for images
|
|
82
|
-
* layouts : forlder for layout files
|
|
83
92
|
* style.css : sample stylesheet
|
|
84
93
|
* sty : style files for LaTeX
|
|
85
94
|
* doc : various documents (including this document)
|
|
@@ -116,29 +125,38 @@ The web site of Re:VIEW is @<tt>{https://reviewml.org/}.
|
|
|
116
125
|
|
|
117
126
|
You should use UTF-8 as encodings in text files.
|
|
118
127
|
|
|
119
|
-
### generating PDF, EPUB,
|
|
128
|
+
### generating PDF, EPUB, plain-text, and InDesign XML
|
|
129
|
+
|
|
130
|
+
To convert files in the project, use review-*maker command.
|
|
120
131
|
|
|
121
|
-
|
|
132
|
+
- review-pdfmaker: generate PDF
|
|
133
|
+
- review-epubmaker: generate EPUB
|
|
134
|
+
- review-textmaker: genrate plaintext
|
|
135
|
+
- review-idgxmlmaker: genrate InDesign XML
|
|
122
136
|
|
|
123
|
-
To generate PDF, you should install TeXLive 2012 or later.
|
|
137
|
+
To generate PDF, you should install TeXLive 2012 or later. To generate EPUB, you should install zip command.
|
|
124
138
|
When you want to use MathML, you should install [MathML library](http://www.hinet.mydns.jp/?mathml.rb)
|
|
125
139
|
|
|
126
|
-
Each maker need `config.yml`, configuration YAML files.
|
|
140
|
+
Each maker need `config.yml`, configuration YAML files. `review-init` command generates `config.yml` in default.
|
|
127
141
|
|
|
128
142
|
```bash
|
|
129
|
-
$ review-pdfmaker config.yml
|
|
130
|
-
$ review-
|
|
131
|
-
$ review-
|
|
132
|
-
$ review-textmaker
|
|
143
|
+
$ review-pdfmaker config.yml ## generate PDF
|
|
144
|
+
$ review-pdfmaker config-ebook.yml ## generate PDF (for ebook)
|
|
145
|
+
$ review-epubmaker config.yml ## generate EPUB
|
|
146
|
+
$ review-textmaker config.yml ## generate text with decoration
|
|
147
|
+
$ review-textmaker -n config.yml ## generate text without decoration
|
|
148
|
+
$ review-idgxmlmaker config.yml ## generate InDesign XML
|
|
133
149
|
```
|
|
134
150
|
|
|
135
151
|
You also can generate them with Rake.
|
|
136
152
|
|
|
137
153
|
```bash
|
|
138
154
|
$ rake pdf ## generate PDF
|
|
155
|
+
$ REVIEW_CONFIG_FILE=config-ebook.yml rake pdf ## generate PDF (for ebook)
|
|
139
156
|
$ rake epub ## generate EPUB
|
|
140
157
|
$ rake text ## generate text with decoration
|
|
141
158
|
$ rake plaintext ## generate text without decoration
|
|
159
|
+
$ rake idgxml ## generate InDesign XML
|
|
142
160
|
```
|
|
143
161
|
|
|
144
162
|
There is a sample YAML file [config.yml.sample](https://github.com/kmuto/review/blob/master/doc/config.yml.sample) in the same directory of this document.
|
|
@@ -210,12 +228,12 @@ $ review-index --level <heading level> -a
|
|
|
210
228
|
|
|
211
229
|
## how to update the document folder to the new Re:VIEW version
|
|
212
230
|
|
|
213
|
-
Re:VIEW is updated regularly. We Re:VIEW team watch the backward compatibility carefully, but if you want to use the features in the new version, you can use review-update command to update the
|
|
231
|
+
Re:VIEW is updated regularly. We Re:VIEW team watch the backward compatibility carefully, but if you want to use the features in the new version, you can use review-update command to update the project folder.
|
|
214
232
|
|
|
215
233
|
```bash
|
|
216
234
|
$ review-update
|
|
217
|
-
** review-update updates your project to
|
|
218
|
-
config.yml: Update 'review_version' to '
|
|
235
|
+
** review-update updates your project to 4.0.0 **
|
|
236
|
+
config.yml: Update 'review_version' to '4.0'? [y]/n
|
|
219
237
|
Rakefile will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/Rakefile). Do you really proceed? [y]/n
|
|
220
238
|
lib/tasks/review.rake will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/lib/tasks/review.rake). Do you really proceed? [y]/n
|
|
221
239
|
INFO: new file /.../sty/plistings.sty is created.
|
|
@@ -231,7 +249,7 @@ Finished.
|
|
|
231
249
|
|
|
232
250
|
## Copyright
|
|
233
251
|
|
|
234
|
-
The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (
|
|
252
|
+
The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (December 2019).
|
|
235
253
|
|
|
236
254
|
If you want to report bugs and patches, or to get more information, see:
|
|
237
255
|
|
data/lib/review/book/base.rb
CHANGED
|
@@ -136,19 +136,20 @@ module ReVIEW
|
|
|
136
136
|
|
|
137
137
|
def chapter_index
|
|
138
138
|
return @chapter_index if @chapter_index
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
@chapter_index = ChapterIndex.new
|
|
140
|
+
each_chapter do |chap|
|
|
141
|
+
@chapter_index.add_item(Index::Item.new(chap.id, chap.number, chap))
|
|
142
|
+
end
|
|
142
143
|
parts.each do |prt|
|
|
143
144
|
if prt.id.present?
|
|
144
|
-
|
|
145
|
+
@chapter_index.add_item(Index::Item.new(prt.id, prt.number, prt))
|
|
145
146
|
end
|
|
146
147
|
end
|
|
147
|
-
@chapter_index
|
|
148
|
+
@chapter_index
|
|
148
149
|
end
|
|
149
150
|
|
|
150
151
|
def chapter(id)
|
|
151
|
-
chapter_index[id]
|
|
152
|
+
chapter_index[id].content
|
|
152
153
|
end
|
|
153
154
|
|
|
154
155
|
def next_chapter(chapter)
|
|
@@ -356,7 +357,7 @@ module ReVIEW
|
|
|
356
357
|
res = ''
|
|
357
358
|
File.open(filename_join(@basedir, filename), 'rt:BOM|utf-8') do |f|
|
|
358
359
|
f.each_line do |line|
|
|
359
|
-
next if
|
|
360
|
+
next if line.start_with?('#')
|
|
360
361
|
line.gsub!(/#.*\Z/, '')
|
|
361
362
|
res << line
|
|
362
363
|
end
|