review 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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