review 0.6.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.
Files changed (50) hide show
  1. data/COPYING +515 -0
  2. data/ChangeLog +1278 -0
  3. data/README.rdoc +21 -0
  4. data/Rakefile +42 -0
  5. data/VERSION +1 -0
  6. data/bin/review-check +190 -0
  7. data/bin/review-checkdep +63 -0
  8. data/bin/review-compile +165 -0
  9. data/bin/review-epubmaker +525 -0
  10. data/bin/review-index +108 -0
  11. data/bin/review-preproc +140 -0
  12. data/bin/review-validate +51 -0
  13. data/bin/review-vol +106 -0
  14. data/doc/format.re +486 -0
  15. data/doc/format.txt +434 -0
  16. data/doc/format_idg.txt +194 -0
  17. data/doc/format_sjis.txt +313 -0
  18. data/doc/sample.css +91 -0
  19. data/doc/sample.yaml +46 -0
  20. data/lib/lineinput.rb +155 -0
  21. data/lib/review/book.rb +580 -0
  22. data/lib/review/builder.rb +274 -0
  23. data/lib/review/compat.rb +22 -0
  24. data/lib/review/compiler.rb +483 -0
  25. data/lib/review/epubbuilder.rb +692 -0
  26. data/lib/review/ewbbuilder.rb +382 -0
  27. data/lib/review/exception.rb +21 -0
  28. data/lib/review/htmlbuilder.rb +370 -0
  29. data/lib/review/htmllayout.rb +19 -0
  30. data/lib/review/htmlutils.rb +27 -0
  31. data/lib/review/idgxmlbuilder.rb +1078 -0
  32. data/lib/review/index.rb +224 -0
  33. data/lib/review/latexbuilder.rb +420 -0
  34. data/lib/review/latexindex.rb +35 -0
  35. data/lib/review/latexutils.rb +52 -0
  36. data/lib/review/preprocessor.rb +520 -0
  37. data/lib/review/textutils.rb +19 -0
  38. data/lib/review/tocparser.rb +333 -0
  39. data/lib/review/tocprinter.rb +220 -0
  40. data/lib/review/topbuilder.rb +572 -0
  41. data/lib/review/unfold.rb +138 -0
  42. data/lib/review/volume.rb +66 -0
  43. data/lib/review.rb +4 -0
  44. data/review.gemspec +93 -0
  45. data/setup.rb +1587 -0
  46. data/test/test_epubbuilder.rb +73 -0
  47. data/test/test_helper.rb +2 -0
  48. data/test/test_htmlbuilder.rb +42 -0
  49. data/test/test_latexbuilder.rb +74 -0
  50. metadata +122 -0
@@ -0,0 +1,313 @@
1
+ ReVIEW �t�H�[�}�b�g
2
+ ==================
3
+
4
+ ReVIEW �t�H�[�}�b�g�̕��@�ɂ‚��ĉ�����܂��BReVIEW
5
+ �t�H�[�}�b�g�� ASCII �� EWB ����{�Ƃ��Ȃ���A�ꕔ��
6
+ RD ��e�� Wiki �̕��@���Ƃ肢��Ċȑf�����Ă��܂��B
7
+
8
+ �� �i��
9
+
10
+ �i���̊Ԃ͉p��̒i���̂悤�Ɉ�s�󂯂܂��B�������A�g�ł�
11
+ �܂킷�Ƃ��͑O�������� 1 �i���� 1 �s�ɕύX���Ă���܂��B
12
+
13
+ [��]
14
+
15
+ ����炭����炭�`�`�`
16
+ ���̍s�������i��
17
+
18
+ ���̒i���`�`�`
19
+
20
+ �� �́E�߁E���E�i
21
+
22
+ �́E�߁E���E�i�̃L���v�V�����́u=�v�u==�v�u===�v�u====�v
23
+ �ł��B5 ���x���ȏ�͎g���܂���B
24
+
25
+ [��]
26
+
27
+ = �͂̃L���v�V����
28
+
29
+ == �߂̃L���v�V����
30
+
31
+ === ���̃L���v�V����
32
+
33
+ ==== �i�̃L���v�V����
34
+
35
+ �� �R�����Ȃ�
36
+
37
+ �߂⍀�̕��@�� [column] ��lj�����ƃR�����̃L���v�V������
38
+ �Ȃ�܂��B
39
+
40
+ [��]
41
+
42
+ ===[column] �R���p�C���R���p�C��
43
+
44
+ ���̂Ƃ��A�u=�v�Ɓu[column]�v�͕K�������‚��ď����Ȃ����
45
+ �Ȃ�܂���B�󔒂������Ă������܂���B
46
+
47
+ �� �ӏ�����
48
+
49
+ �ӏ����� (HTML �Ō��� ul) �́u*�v�ŕ\�����܂��B
50
+ �l�X�g�͂��܂���B
51
+
52
+ [��]
53
+
54
+ * ���̍���
55
+ * ���̍���
56
+ * ��O�̍���
57
+
58
+ �� �ԍ��t���ӏ�����
59
+
60
+ �ԍ��t���̉ӏ����� (HTML �Ō��� ol) �́u1. �`�v�u2. �`�v
61
+ �u3. �`�v�Ŏ����܂��B�l�X�g�͂��܂���B
62
+
63
+ [��]
64
+
65
+ 1. ���̏���
66
+ 2. ���̏���
67
+ 3. ��O�̏���
68
+
69
+ �� �p�ꃊ�X�g
70
+
71
+ �p�ꃊ�X�g (HTML �Ō��� dl) �́u:�v���g���Ď����܂��B
72
+
73
+ [��]
74
+
75
+ : Alpha
76
+ DEC �̍���Ă��� RISC CPU�B
77
+ ���������_�����Z�������B
78
+ : POWER
79
+ IBM �ƃ��g���[�����������삵�� RISC CPU�B
80
+ �h���Ƃ��� POWER PC ������B
81
+ : SPARC
82
+ Sun ��������� RISC CPU�B
83
+ CPU ���𑝂₷�̂����ӁB
84
+
85
+ ���́u:�v���ꎩ�̂̓e�L�X�g�ł͂Ȃ��̂Œ��ӂ��Ă��������B
86
+
87
+ �܂��A���X�g���ł���q����C�����C�����߂͗L���ł��B
88
+
89
+ �� �\�[�X�R�[�h�Ȃǂ̃��X�g
90
+
91
+ �\�[�X�R�[�h���X�g�ɂ̓L���v�V�����̕t�����X�g�ƃL���v
92
+ �V�����̕t���Ȃ����X�g������܂��B�L���v�V�����t�����X
93
+ �g�́u//list[���ʎq][�L���v�V����]{ �` //}�v�ŁA
94
+ �L���v�V�����Ȃ����X�g�́u//emlist{ �` //}�v�ł��B
95
+
96
+ [��]
97
+
98
+ //list[main][main()]{ ���umain�v�����ʎq�Łumain()�v���L���v�V����
99
+ int
100
+ main(int argc, char **argv)
101
+ {
102
+ puts("OK");
103
+ return 0;
104
+ }
105
+ //}
106
+
107
+ [��]
108
+
109
+ //emlist{
110
+ printf("hello");
111
+ //}
112
+
113
+ �u���b�N���ł���q����C�����C�����߂͗L���ł��B
114
+
115
+ �܂��{�����Łu���X�g X �����Ă��������v�̂悤�Ƀ��X�g���w��
116
+ ����ꍇ�́A//list �Ŏw�肵�����ʎq���g���āu@<list>{main}�v
117
+ �ƕ\�L���܂��B
118
+
119
+ �� �R�}���h���C���̃L���v�`��
120
+
121
+ �R�}���h���C���̑���������Ƃ��� //cmd{ �` //} ���g���܂��B
122
+
123
+ [��]
124
+
125
+ //cmd{
126
+ $ ls /
127
+ //}
128
+
129
+ �u���b�N���ł���q����C�����C�����߂͗L���ł��B
130
+
131
+ �� �}
132
+
133
+ �}�� //image{ �` //} �Ŏw�肵�܂��B���M���̓A�X�L�[�A�[�g��
134
+ ��ւ��Ă��邽�߁A�_�~�[�̃A�X�L�[�A�[�g�������Ă��邱�Ƃ�����
135
+ �܂��B���̕����́A�g�Ŏ��ɂ͒P�ɖ������Ă��������B
136
+
137
+ [��]
138
+
139
+ //image[unixhistory][UNIX�nOS�̊ȒP�Ȍn��]{
140
+ System V �n��
141
+ +----------- SVr4 --> �e�폤�pUNIX�iSolaris, AIX, HP-UX, ...�j
142
+ V1 --> V6 --|
143
+ +--------- 4.4BSD --> FreeBSD, NetBSD, OpenBSD, ...
144
+ BSD �n��
145
+
146
+ --------------> Linux
147
+ //}
148
+
149
+ �܂��{�����Łu�} X �����Ă��������v�̂悤�ɐ}���w�肷��ꍇ�́A
150
+ //image �Ŏw�肵�����ʎq��p���āu@<img>{unixhistory}�v��
151
+ �L�q���܂��B//image �� @<img> �ł‚Â肪�Ⴄ�̂Œ��ӂ��Ă��������B
152
+
153
+ �� �\
154
+
155
+ �\�� //table[���ʎq][�L���v�V����]{ �` //} �ł��B�w�b�_�Ɠ��e��
156
+ ������r���́u------�v�ŏ�������ł���܂��B
157
+
158
+ �J�����Ԃ͔C�ӌ��̃^�u�ŋ�؂�܂��B�܂��A�J�����擪�́u.�v�͍�
159
+ �������̂ŁA�J�����̐擪�������u.�v�̏ꍇ�́u.�v��������—]�v��
160
+ �t���Ă��������B�Ⴆ�΁u.�v�Ƃ������e�̃J�����́u..�v�Ə����܂��B
161
+ �܂��A��̃J�����́u.�v�Ə����܂��B
162
+
163
+ [��]
164
+
165
+ //table[envvars][�d�v�Ȋ‹��ϐ�]{
166
+ ���O �Ӗ�
167
+ -------------------------------------------------------------
168
+ PATH �R�}���h�̑��݂���f�B���N�g��
169
+ TERM �g���Ă���[���̎�ށBlinux�Ekterm�Evt100�Ȃ�
170
+ LANG ���[�U�̃f�t�H���g���P�[���B���{��Ȃ�ja_JP.eucJP��ja_JP.utf8
171
+ LOGNAME ���[�U�̃��O�C����
172
+ TEMP �ꎞ�t�@�C����u���f�B���N�g���B/tmp�Ȃ�
173
+ PAGER man�ȂǂŋN������e�L�X�g�{���v���O�����Bless�Ȃ�
174
+ EDITOR �f�t�H���g�G�f�B�^�Bvi��emacs�Ȃ�
175
+ MANPATH man�̃\�[�X��u���Ă���f�B���N�g��
176
+ DISPLAY X Window System�̃f�t�H���g�f�B�X�v���C
177
+ //}
178
+
179
+ �{�����Łu�\ X �����Ă��������v�̂悤�ɕ\���w�肷��ꍇ��
180
+ @<table>{envvars} �Ƃ����\�L���g���܂��B
181
+
182
+ �\���ł���q����C�����C�����߂͗L���ł��B
183
+
184
+ �� ���p
185
+
186
+ ���p�́u//quote{ �` //}�v���g���ċL�q���܂��B
187
+
188
+ [��]
189
+
190
+ //quote{
191
+ �S���͈ꌩ�ɔ@�����B
192
+ //}
193
+
194
+ ���p���ł���q����C�����C�����߂͗L���ł��B
195
+ �܂��A���܂̂Ƃ�����p���ŕʂ̃u���b�N�\�����g�����Ƃ͂ł��܂���B
196
+
197
+ �� �r��
198
+
199
+ �r���́u//footnote�v���g���ċL�q���܂��B
200
+
201
+ [��]
202
+
203
+ �p�b�P�[�W�͖{���̃T�|�[�g�T�C�g�������ł��܂�@<fn>{site}�B
204
+ �e���_�E�����[�h���ăC���X�g�[�����Ă����Ă��������B
205
+ //footnote[site][�{���̃T�|�[�g�T�C�g�F http://i.loveruby.net/ja/stdcompiler ]
206
+
207
+ �{�����́u@<fn>{site}�v�͋r���ԍ��ɒu������A�u�{���̃T�|�[�g
208
+ �T�C�g�c�c�v�Ƃ������͎��ۂ̋r���ɕϊ�����܂��B
209
+
210
+ �� ���[�h��
211
+
212
+ ���[�h���� //read{ �` //} �Ŏw�肵�܂��Blead �łȂ� read
213
+ �Ȃ̂́AASCII �� EWB ���uread�v���g���Ă�������ł��B
214
+
215
+ [��]
216
+
217
+ //read{
218
+ �{�͂ł͂܂����̖{�̊T�v�ɂ‚��Ęb���A
219
+ ����Linux�Ńv���O�����������@��������Ă����܂��B
220
+ //}
221
+
222
+ �� �󔒐���
223
+
224
+ //noindent
225
+ �i���`���̃C���f���g�Ȃ�
226
+
227
+ //linebreak
228
+ ���s
229
+
230
+ //pagebreak
231
+ ���y�[�W
232
+
233
+ �� �R�����g
234
+
235
+ �����ȃ^�O�ł͓`�B�ł��Ȃ������L�q���邽�߂� //comment ���g���܂��B
236
+
237
+ [��]
238
+
239
+ //comment[������ 1 �s������]
240
+
241
+ �� ���̑��̕��@
242
+
243
+ ReVIEW �͔C�ӂ̃u���b�N��lj��”\�Ȃ̂ŁA�{�ɂ���Đ�p�u���b�N��
244
+ �g���ꍇ������܂��B����܂łɎg��������ȉ��Ɏ����܂��B
245
+
246
+ //prototype
247
+ �֐��v���g�^�C�v�B�w�ӂ‚���Linux�v���O���~���O�x�Ŏg�p�B
248
+
249
+ //type
250
+ �֐��̌^�錾�B�w�ӂ‚���Haskell�v���O���~���O�x�Ŏg�p�B
251
+
252
+ �� �i�����Ŏg�����@ (�C�����C������)
253
+
254
+ @<list>{program}
255
+ �u���X�g1.5�v�̂悤�ȕ�����ɒu�������B
256
+
257
+ @<img>{unixhistory}
258
+ �u�}1.3�v�̂悤�ȕ�����ɒu�������B
259
+
260
+ @<table>{ascii}
261
+ �u�\1.2�v�̂悤�ȕ�����ɒu�������B
262
+
263
+ @<fn>{site}
264
+ �r���ԍ��ɒu�������B
265
+
266
+ @<kw>{�M�C��, credential}
267
+ �L�[���[�h�B�����Ȃǂɂ��ċ������Ă��������B
268
+
269
+ @<chap>{advanced}
270
+ �u��17�́v�̂悤�ȁA�͔ԍ����܂ރe�L�X�g�ɒu�������B
271
+
272
+ @<title>{advanced}
273
+ ���̏͂̏͑�ɒu�������B
274
+
275
+ @<chapref>{advanced}
276
+ �w��17�́u����ɐi�񂾘b��v�x�̂悤�ɁA�͔ԍ��ƃ^�C�g��
277
+ ���܂ރe�L�X�g�ɒu�������B
278
+
279
+ @<bou>{�ӂ��킵��}
280
+ �T�_�B
281
+
282
+ @<ruby>{���B, ���傭����}
283
+ ���r�B
284
+
285
+ @<ami>{�d�_�|�C���g}
286
+ �����ɑ΂���A�~�����B
287
+
288
+ @<b>{�ǂ����Ă�}
289
+ �����B
290
+
291
+ �� ���җp�^�O (�v���v���Z�b�T����)
292
+
293
+ ����܂łɐ��������^�O�͂��ׂčŏI�i�K�܂Ŏc��A�����߂�
294
+ �e����^���܂��B����ɑ΂��Ĉȉ��̃^�O�͒��҂��g�����߂�
295
+ ��p�^�O�ł���A�ŏI�i�K�ł͂��ׂď�����Ă��܂��܂��B
296
+
297
+ ####
298
+ �R�����g�B���̍s�ɂ͉��������Ă����������B
299
+
300
+ #@warn(...)
301
+ �x�����b�Z�[�W�B�v���v���Z�X���Ƀ��b�Z�[�W���o�͂����B
302
+
303
+ #@require, #@provide
304
+ �L�[���[�h�̈ˑ��֌W��錾����B
305
+
306
+ #@mapfile(�t�@�C����) �` #@end
307
+ �t�@�C���̓��e�����̏�ɓW�J����B
308
+
309
+ #@maprange(�t�@�C����, �͈͖�) �` #@end
310
+ �t�@�C�����͈̔͂����̏�ɓW�J����B
311
+
312
+ #@mapoutput(�R�}���h) �` #@end
313
+ �R�}���h�����s���āA���̏o�͌��ʂ�W�J����B
data/doc/sample.css ADDED
@@ -0,0 +1,91 @@
1
+ @charset "utf-8";
2
+
3
+ h1 {
4
+ color: #000080;
5
+ font-weight: bold;
6
+ text-align: center;
7
+ }
8
+
9
+ h2 {
10
+ color: #000080;
11
+ font-weight: bold;
12
+ border-bottom: dotted 1px #000080;
13
+ margin-top: 1em;
14
+ }
15
+
16
+ h3 {
17
+ color: #000080;
18
+ border-bottom: dotted 1px #000080;
19
+ margin-top: 1em;
20
+ }
21
+
22
+ p.lead {
23
+ padding: 1em;
24
+ background: #c0c0ff;
25
+ }
26
+
27
+ p.footnote {
28
+ font-size: xx-small;
29
+ padding: 1em;
30
+ background: #d0d0d0;
31
+ }
32
+
33
+ p.sourcecaption {
34
+ font-weight: bold;
35
+ text-align: center;
36
+ }
37
+ p.imagecaption {
38
+ font-weight: bold;
39
+ text-align: center;
40
+ }
41
+ p.listcaption {
42
+ font-weight: bold;
43
+ text-align: center;
44
+ }
45
+ p.emlistcaption {
46
+ font-weight: bold;
47
+ text-align: center;
48
+ }
49
+ p.tablecaption {
50
+ font-weight: bold;
51
+ text-align: center;
52
+ }
53
+ p.notecaption {
54
+ font-weight: bold;
55
+ text-align: center;
56
+ }
57
+
58
+ img {
59
+ text-align: center;
60
+ }
61
+
62
+ table {
63
+ border: solid 1px #000000;
64
+ width: 90%;
65
+ margin-bottom: 1em;
66
+ }
67
+
68
+ th {
69
+ border-bottom: solid 1px #000000;
70
+ background: #800000;
71
+ color: #ffffff;
72
+ }
73
+
74
+ span.kw {
75
+ font-weight: bold;
76
+ }
77
+
78
+ div.column {
79
+ padding: 0.5em;
80
+ background: #ffd0d0;
81
+ border: dotted 2px #808080;
82
+ }
83
+
84
+ div.image {
85
+ text-align: center;
86
+ }
87
+
88
+ div h5 {
89
+ font-size: larger;
90
+ border-bottom: solid 1px #000000;
91
+ }
data/doc/sample.yaml ADDED
@@ -0,0 +1,46 @@
1
+ # review-epubmaker向けの設定ファイルの例。
2
+ # yamlファイルをReVIEWファイルのある場所に置き、
3
+ # 「review-epubmaker yamlファイル」を実行すると、<bookname>.epubファイルが
4
+ # 生成されます。
5
+ # このファイルはUTF-8エンコーディングで記述してください。
6
+
7
+ # ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
8
+ bookname: sample
9
+ # 書名
10
+ booktitle: ReVIEW EPUBサンプル
11
+ # 著者
12
+ aut: 吟遊詩人
13
+ # 以下はオプション
14
+ # prt: 出版社
15
+ # asn: Associated name
16
+ # ant: Bibliographic antecedent
17
+ # clb: 貢献者
18
+ # edt: 編集者
19
+ # dsr: デザイナ
20
+ # ill: イラストレータ
21
+ # pht: 撮影者
22
+ # trl: 翻訳者
23
+ # date: 刊行日
24
+ # rights: 権利表記
25
+ # description: ブックの説明
26
+ #
27
+ # coverfile: カバーページのbody要素内に挿入する内容を記述したファイル名
28
+ #
29
+ # coverimage: カバー用画像。画像ディレクトリ内に置いてもディレクトリ名は不要(例: cover.jpg)
30
+ #
31
+ # 固有IDに使用するドメイン
32
+ urnid: example.jp
33
+ # CSSファイル (yamlファイルおよびReVIEWファイルを置いたディレクトリにあること)
34
+ stylesheet: sample.css
35
+ # 目次として抽出するレベル
36
+ toclevel: 3
37
+ # セクション番号を表示するレベル
38
+ secnolevel: 2
39
+ # EPUB標準の目次以外に目次を作成するか
40
+ # mytoc: nil
41
+ # XHTML生成後に実行するプログラム。$1:HTMLの生成されたディレクトリ $2:ReVIEWファイルのあるディレクトリ $3:起動時指定のyamlファイル名
42
+ # posthook: hook.sh
43
+ # review-compileに渡すパラメータ
44
+ params: --stylesheet=sample.css
45
+ # デバッグフラグ。nilのときには一時ファイルをカレントディレクトリに作成し、削除もしない
46
+ # debug: nil