review 2.1.0 → 2.2.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.rubocop.yml +293 -6
  4. data/.rubocop_todo.yml +3 -608
  5. data/.travis.yml +6 -13
  6. data/README.md +5 -3
  7. data/Rakefile +6 -6
  8. data/bin/review-catalog-converter +2 -2
  9. data/bin/review-check +1 -1
  10. data/bin/review-compile +1 -2
  11. data/bin/review-init +6 -3
  12. data/bin/review-validate +3 -3
  13. data/bin/review-vol +2 -1
  14. data/doc/NEWS.ja.md +138 -25
  15. data/doc/NEWS.md +137 -25
  16. data/doc/config.yml.sample +2 -2
  17. data/doc/config.yml.sample-simple +1 -1
  18. data/doc/format.ja.md +86 -5
  19. data/doc/format.md +67 -2
  20. data/doc/makeindex.ja.md +95 -0
  21. data/doc/makeindex.md +97 -0
  22. data/doc/sample.css +214 -0
  23. data/lib/epubmaker.rb +6 -6
  24. data/lib/epubmaker/epubcommon.rb +19 -47
  25. data/lib/epubmaker/epubv2.rb +3 -1
  26. data/lib/epubmaker/epubv3.rb +4 -26
  27. data/lib/epubmaker/producer.rb +46 -46
  28. data/lib/epubmaker/zip_exporter.rb +86 -0
  29. data/lib/review/book/base.rb +13 -15
  30. data/lib/review/book/chapter.rb +2 -1
  31. data/lib/review/book/compilable.rb +9 -9
  32. data/lib/review/book/image_finder.rb +13 -13
  33. data/lib/review/book/index.rb +2 -2
  34. data/lib/review/book/volume.rb +2 -2
  35. data/lib/review/builder.rb +57 -1
  36. data/lib/review/catalog.rb +2 -2
  37. data/lib/review/compiler.rb +15 -7
  38. data/lib/review/configure.rb +11 -0
  39. data/lib/review/epubmaker.rb +403 -401
  40. data/lib/review/ewbbuilder.rb +16 -16
  41. data/lib/review/htmlbuilder.rb +42 -58
  42. data/lib/review/htmltoc.rb +1 -1
  43. data/lib/review/htmlutils.rb +50 -4
  44. data/lib/review/i18n.rb +2 -2
  45. data/lib/review/idgxmlbuilder.rb +30 -47
  46. data/lib/review/latexbuilder.rb +86 -41
  47. data/lib/review/latexutils.rb +19 -19
  48. data/lib/review/markdownbuilder.rb +16 -4
  49. data/lib/review/md2inaobuilder.rb +0 -9
  50. data/lib/review/pdfmaker.rb +91 -48
  51. data/lib/review/preprocessor.rb +1 -1
  52. data/lib/review/rstbuilder.rb +763 -0
  53. data/lib/review/sec_counter.rb +7 -9
  54. data/lib/review/tocparser.rb +3 -3
  55. data/lib/review/tocprinter.rb +5 -5
  56. data/lib/review/topbuilder.rb +48 -56
  57. data/lib/review/version.rb +1 -1
  58. data/lib/review/webmaker.rb +6 -7
  59. data/review.gemspec +1 -0
  60. data/templates/latex/layout.tex.erb +27 -2
  61. data/test/assets/test_template.tex +10 -1
  62. data/test/book_test_helper.rb +1 -2
  63. data/test/run_test.rb +10 -0
  64. data/test/sample-book/src/style.css +215 -0
  65. data/test/sample-book/src/vendor/jumoline/lppl.txt +416 -0
  66. data/test/test_book.rb +0 -1
  67. data/test/test_catalog.rb +1 -0
  68. data/test/test_converter.rb +1 -1
  69. data/test/test_epub3maker.rb +44 -51
  70. data/test/test_epubmaker.rb +82 -38
  71. data/test/test_epubmaker_cmd.rb +1 -1
  72. data/test/test_extentions_hash.rb +8 -1
  73. data/test/test_htmlbuilder.rb +411 -18
  74. data/test/test_i18n.rb +17 -0
  75. data/test/test_idgxmlbuilder.rb +88 -3
  76. data/test/test_image_finder.rb +18 -0
  77. data/test/test_index.rb +2 -0
  78. data/test/test_latexbuilder.rb +96 -8
  79. data/test/test_makerhelper.rb +2 -2
  80. data/test/test_markdownbuilder.rb +22 -1
  81. data/test/test_md2inaobuilder.rb +0 -5
  82. data/test/test_pdfmaker.rb +54 -36
  83. data/test/test_pdfmaker_cmd.rb +1 -1
  84. data/test/test_rstbuilder.rb +356 -0
  85. data/test/test_textutils.rb +14 -4
  86. data/test/test_topbuilder.rb +23 -4
  87. data/test/test_zip_exporter.rb +113 -0
  88. metadata +28 -2
@@ -322,7 +322,7 @@ module ReVIEW
322
322
  err = stderr.readlines
323
323
  end
324
324
  }
325
- if err and not err.empty?
325
+ if err and !err.empty?
326
326
  $stderr.puts "[unexpected stderr message]"
327
327
  err.each do |line|
328
328
  $stderr.print line
@@ -0,0 +1,763 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Copyright (c) 2002-2006 Minero Aoki
4
+ # 2008-2016 Minero Aoki, Kenshi Muto
5
+ #
6
+ # This program is free software.
7
+ # You can distribute or modify this program under the terms of
8
+ # the GNU LGPL, Lesser General Public License version 2.1.
9
+ #
10
+
11
+ require 'review/builder'
12
+ require 'review/textutils'
13
+
14
+ module ReVIEW
15
+
16
+ #
17
+ # RSTBuilder is a builder for reStructuredText (http://docutils.sourceforge.net/rst.html).
18
+ # reStructuredText is used in Sphinx (http://www.sphinx-doc.org/).
19
+ #
20
+ # If you want to use `ruby`, `del` and `column`, you sould use sphinxcontrib-textstyle
21
+ # package (https://pypi.python.org/pypi/sphinxcontrib-textstyle).
22
+ #
23
+ class RSTBuilder < Builder
24
+
25
+ include TextUtils
26
+
27
+ [:ttbold, :hint, :maru, :keytop, :labelref, :ref, :pageref, :balloon, :strong].each {|e|
28
+ Compiler.definline(e)
29
+ }
30
+ Compiler.defsingle(:dtp, 1)
31
+
32
+ Compiler.defblock(:insn, 1)
33
+ Compiler.defblock(:planning, 0..1)
34
+ Compiler.defblock(:best, 0..1)
35
+ Compiler.defblock(:securty, 0..1)
36
+ Compiler.defblock(:point, 0..1)
37
+ Compiler.defblock(:reference, 0)
38
+ Compiler.defblock(:term, 0)
39
+ Compiler.defblock(:practice, 0)
40
+ Compiler.defblock(:expert, 0)
41
+ Compiler.defblock(:link, 0..1)
42
+ Compiler.defblock(:shoot, 0..1)
43
+
44
+ def pre_paragraph
45
+ ''
46
+ end
47
+
48
+ def post_paragraph
49
+ ''
50
+ end
51
+
52
+ def image_ext
53
+ "png"
54
+ end
55
+
56
+ def extname
57
+ '.rst'
58
+ end
59
+
60
+ def builder_init_file
61
+ @section = 0
62
+ @subsection = 0
63
+ @subsubsection = 0
64
+ @subsubsubsection = 0
65
+ @blank_seen = true
66
+ @sec_counter = SecCounter.new(5, @chapter)
67
+ @ul_indent = 0
68
+ @ol_indent = 0
69
+ @in_role = false
70
+ @in_table = false
71
+ end
72
+ private :builder_init_file
73
+
74
+ def print(s)
75
+ @blank_seen = false
76
+ super
77
+ end
78
+ private :print
79
+
80
+ def puts(s)
81
+ @blank_seen = false
82
+ super
83
+ end
84
+ private :puts
85
+
86
+ def blank
87
+ @output.puts unless @blank_seen
88
+ @blank_seen = true
89
+ end
90
+ private :blank
91
+
92
+ def result
93
+ @output.string
94
+ end
95
+
96
+ def warn(msg)
97
+ $stderr.puts "#{@location.filename}:#{@location.lineno}: warning: #{msg}"
98
+ end
99
+
100
+ def error(msg)
101
+ $stderr.puts "#{@location.filename}:#{@location.lineno}: error: #{msg}"
102
+ end
103
+
104
+ def headline(level, label, caption)
105
+ blank
106
+ if label
107
+ puts ".. _#{label}:"
108
+ blank
109
+ end
110
+ p = "="
111
+ case level
112
+ when 1 then
113
+ unless label
114
+ puts ".. _#{@chapter.name}:"
115
+ blank
116
+ end
117
+ puts "=" * caption.size * 2
118
+ when 2 then
119
+ p = "="
120
+ when 3 then
121
+ p = "-"
122
+ when 4 then
123
+ p = "`"
124
+ when 5 then
125
+ p = "~"
126
+ end
127
+
128
+ puts "#{caption}"
129
+ puts p * caption.size * 2
130
+ blank
131
+ end
132
+
133
+ def ul_begin
134
+ blank
135
+ @ul_indent += 1
136
+ end
137
+
138
+ def ul_item(lines)
139
+ puts " " * (@ul_indent - 1) + "* #{lines.join}"
140
+ end
141
+
142
+ def ul_end
143
+ @ul_indent -= 1
144
+ blank
145
+ end
146
+
147
+ def ol_begin
148
+ blank
149
+ @ol_indent += 1
150
+ end
151
+
152
+ def ol_item(lines, num)
153
+ puts " " * (@ol_indent - 1) + "#. #{lines.join}"
154
+ end
155
+
156
+ def ol_end
157
+ @ol_indent -= 1
158
+ blank
159
+ end
160
+
161
+ def dl_begin
162
+ end
163
+
164
+ def dt(line)
165
+ puts "#{line}"
166
+ end
167
+
168
+ def dd(lines)
169
+ split_paragraph(lines).each do |paragraph|
170
+ puts " #{paragraph.gsub(/\n/, '')}"
171
+ end
172
+ end
173
+
174
+ def dl_end
175
+ end
176
+
177
+ def paragraph(lines)
178
+ pre = ""
179
+ if @in_role == true
180
+ pre = " "
181
+ end
182
+ puts pre + lines.join
183
+ puts "\n"
184
+ end
185
+
186
+ def read(lines)
187
+ puts split_paragraph(lines).map{|line| " #{line}"}.join("")
188
+ blank
189
+ end
190
+
191
+ alias_method :lead, :read
192
+
193
+ def hr
194
+ puts "----"
195
+ end
196
+
197
+ def inline_list(id)
198
+ " :numref:`#{id}` "
199
+ end
200
+
201
+ def list_header(id, caption, lang)
202
+ puts ".. _#{id}:"
203
+ blank
204
+ end
205
+
206
+ def list_body(id, lines, lang)
207
+ lines.each do |line|
208
+ puts '-' + detab(line)
209
+ end
210
+ end
211
+
212
+ def base_block(type, lines, caption = nil)
213
+ blank
214
+ puts "#{compile_inline(caption)}" unless caption.nil?
215
+ puts lines.join("\n")
216
+ blank
217
+ end
218
+
219
+ def base_parablock(type, lines, caption = nil)
220
+ puts ".. #{type}::"
221
+ blank
222
+ puts " #{compile_inline(caption)}" unless caption.nil?
223
+ puts " " + split_paragraph(lines).join("\n")
224
+ blank
225
+ end
226
+
227
+ def emlist(lines, caption = nil, lang = nil)
228
+ blank
229
+ if caption
230
+ puts caption
231
+ print "\n"
232
+ end
233
+ lang ||= "none"
234
+ puts ".. code-block:: #{lang}"
235
+ blank
236
+ lines.each do |line|
237
+ puts " " + detab(line)
238
+ end
239
+ blank
240
+ end
241
+
242
+ def emlistnum(lines, caption = nil, lang = nil)
243
+ blank
244
+ if caption
245
+ puts caption
246
+ print "\n"
247
+ end
248
+ lang ||= "none"
249
+ puts ".. code-block:: #{lang}"
250
+ puts " :linenos:"
251
+ blank
252
+ lines.each do |line|
253
+ puts " " + detab(line)
254
+ end
255
+ blank
256
+ end
257
+
258
+ def listnum_body(lines, lang)
259
+ lines.each_with_index do |line, i|
260
+ puts(i + 1).to_s.rjust(2) + ": #{line}"
261
+ end
262
+ blank
263
+ end
264
+
265
+ def cmd(lines, caption = nil)
266
+ puts ".. code-block:: bash"
267
+ lines.each do |line|
268
+ puts " " + detab(line)
269
+ end
270
+ end
271
+
272
+ def quote(lines)
273
+ blank
274
+ puts lines.map{|line| " #{line}"}.join("")
275
+ blank
276
+ end
277
+
278
+ def inline_table(id)
279
+ "表 :numref:`#{id}` "
280
+ end
281
+
282
+ def inline_img(id)
283
+ " :numref:`#{id}` "
284
+ end
285
+
286
+ def image_image(id, caption, metric)
287
+ chapter, id = extract_chapter_id(id)
288
+ if metric
289
+ scale = metric.split("=")[1].to_f * 100
290
+ end
291
+
292
+ puts ".. _#{id}:"
293
+ blank
294
+ puts ".. figure:: images/#{chapter.name}/#{id}.#{image_ext}"
295
+ puts " :scale:#{scale}%" if scale
296
+ blank
297
+ puts " #{caption}"
298
+ blank
299
+ end
300
+
301
+ def image_dummy(id, caption, lines)
302
+ chapter, id = extract_chapter_id(id)
303
+ puts ".. _#{id}:"
304
+ blank
305
+ puts ".. figure:: images/#{chapter.name}/#{id}.#{image_ext}"
306
+ blank
307
+ puts " #{caption}"
308
+ puts " #{lines.join}"
309
+ blank
310
+ end
311
+
312
+ def texequation(lines)
313
+ puts ".. math::"
314
+ blank
315
+ puts lines.map{|line| " #{line}"}.join("")
316
+ blank
317
+ end
318
+
319
+ def table_header(id, caption)
320
+ blank
321
+ puts ".. _#{id}:"
322
+ blank
323
+ puts ".. list-table:: #{compile_inline(caption)}"
324
+ puts " :header-rows: 1"
325
+ blank
326
+ end
327
+
328
+ def table_begin(ncols)
329
+ end
330
+
331
+ def tr(rows)
332
+ first = true
333
+ rows.each{|row|
334
+ if first
335
+ puts " * - #{row}"
336
+ first = false
337
+ else
338
+ puts " - #{row}"
339
+ end
340
+ }
341
+ end
342
+
343
+ def th(str)
344
+ str
345
+ end
346
+
347
+ def td(str)
348
+ str
349
+ end
350
+
351
+ def table_end
352
+ blank
353
+ end
354
+
355
+ def comment(lines, comment = nil)
356
+ puts lines.map{|line| " .. #{line}"}.join("")
357
+ end
358
+
359
+ def footnote(id, str)
360
+ puts ".. [##{id.sub(" ", "_")}] #{compile_inline(str)}"
361
+ blank
362
+ end
363
+
364
+ def inline_fn(id)
365
+ " [##{id.sub(" ", "_")}]_ "
366
+ end
367
+
368
+ def compile_ruby(base, ruby)
369
+ " :ruby:`#{base}`<#{ruby}>`_ "
370
+ end
371
+
372
+ def compile_kw(word, alt)
373
+ if alt
374
+ then " **#{word}(#{alt.strip})** "
375
+ else " **#{word}** "
376
+ end
377
+ end
378
+
379
+ def compile_href(url, label)
380
+ label = url if label.blank?
381
+ " `#{label} <#{url}>`_ "
382
+ end
383
+
384
+ def inline_sup(str)
385
+ " :superscript:`str` "
386
+ end
387
+
388
+ def inline_sub(str)
389
+ " :subscript:`str` "
390
+ end
391
+
392
+ def inline_raw(str)
393
+ matched = str.match(/\|(.*?)\|(.*)/)
394
+ if matched
395
+ matched[2].gsub("\\n", "\n")
396
+ else
397
+ str.gsub("\\n", "\n")
398
+ end
399
+ end
400
+
401
+ def inline_hint(str)
402
+ # TODO: hint is not default role
403
+ " :hint:`#{str}` "
404
+ end
405
+
406
+ def inline_maru(str)
407
+ # TODO: maru is not default role
408
+ " :maru:`#{str}` "
409
+ end
410
+
411
+ def inline_idx(str)
412
+ " :index:`#{str}` "
413
+ end
414
+
415
+ def inline_hidx(str)
416
+ " :index:`#{str}` "
417
+ end
418
+
419
+ def inline_ami(str)
420
+ # TODO: ami is not default role
421
+ " :ami:`#{str}` "
422
+ end
423
+
424
+ def inline_i(str)
425
+ " *#{str.gsub(/\*/, '\*')}* "
426
+ end
427
+
428
+ def inline_b(str)
429
+ " **#{str.gsub(/\*/, '\*')}** "
430
+ end
431
+
432
+ alias_method :inline_strong, :inline_b
433
+
434
+ def inline_tt(str)
435
+ " ``#{str}`` "
436
+ end
437
+
438
+ alias_method :inline_ttb, :inline_tt # TODO
439
+ alias_method :inline_tti, :inline_tt # TODO
440
+
441
+ alias_method :inline_ttbold, :inline_ttb
442
+
443
+ def inline_u(str)
444
+ " :subscript:`str` "
445
+ end
446
+
447
+ def inline_icon(id)
448
+ " :ref:`#{id}` "
449
+ end
450
+
451
+ def inline_bou(str)
452
+ # TODO: bou is not default role
453
+ " :bou:`#{str}` "
454
+ end
455
+
456
+ def inline_keytop(str)
457
+ # TODO: keytop is not default role
458
+ " :keytop:`#{str}` "
459
+ end
460
+
461
+ def inline_balloon(str)
462
+ %Q(\t←#{str.gsub(/@maru\[(\d+)\]/, inline_maru('\1'))})
463
+ end
464
+
465
+ def inline_uchar(str)
466
+ [str.to_i(16)].pack("U")
467
+ end
468
+
469
+ def inline_comment(str)
470
+ if @book.config["draft"]
471
+ "#{str}"
472
+ else
473
+ ""
474
+ end
475
+ end
476
+
477
+ def inline_m(str)
478
+ " :math:`#{str}` "
479
+ end
480
+
481
+ def inline_hd_chap(chap, id)
482
+ " :ref:`#{id}` "
483
+ end
484
+
485
+ def noindent
486
+ # TODO
487
+ end
488
+
489
+ def nonum_begin(level, label, caption)
490
+ puts ".. rubric: #{compile_inline(caption)}"
491
+ blank
492
+ end
493
+
494
+ def nonum_end(level)
495
+ end
496
+
497
+ def common_column_begin(type, caption)
498
+ blank
499
+ puts ".. column:: #{compile_inline(caption)}"
500
+ blank
501
+ @in_role = true
502
+ end
503
+
504
+ def common_column_end(type)
505
+ @in_role = false
506
+ blank
507
+ end
508
+
509
+ def column_begin(level, label, caption)
510
+ common_column_begin("column", caption)
511
+ end
512
+
513
+ def column_end(level)
514
+ common_column_end("column")
515
+ end
516
+
517
+ def xcolumn_begin(level, label, caption)
518
+ common_column_begin("xcolumn", caption)
519
+ end
520
+
521
+ def xcolumn_end(level)
522
+ common_column_end("xcolumn")
523
+ end
524
+
525
+ def world_begin(level, label, caption)
526
+ common_column_begin("world", caption)
527
+ end
528
+
529
+ def world_end(level)
530
+ common_column_end("world")
531
+ end
532
+
533
+ def hood_begin(level, label, caption)
534
+ common_column_begin("hood", caption)
535
+ end
536
+
537
+ def hood_end(level)
538
+ common_column_end("hood")
539
+ end
540
+
541
+ def edition_begin(level, label, caption)
542
+ common_column_begin("edition", caption)
543
+ end
544
+
545
+ def edition_end(level)
546
+ common_column_end("edition")
547
+ end
548
+
549
+ def insideout_begin(level, label, caption)
550
+ common_column_begin("insideout", caption)
551
+ end
552
+
553
+ def insideout_end(level)
554
+ common_column_end("insideout")
555
+ end
556
+
557
+ def ref_begin(level, label, caption)
558
+ common_column_begin("ref", caption)
559
+ end
560
+
561
+ def ref_end(level)
562
+ common_column_end("ref")
563
+ end
564
+
565
+ def sup_begin(level, label, caption)
566
+ common_column_begin("sup", caption)
567
+ end
568
+
569
+ def sup_end(level)
570
+ common_column_end("sup")
571
+ end
572
+
573
+ def flushright(lines)
574
+ base_parablock "flushright", lines, nil
575
+ end
576
+
577
+ def centering(lines)
578
+ base_parablock "centering", lines, nil
579
+ end
580
+
581
+ def note(lines, caption = nil)
582
+ base_parablock "note", lines, caption
583
+ end
584
+
585
+ def memo(lines, caption = nil)
586
+ base_parablock "memo", lines, caption
587
+ end
588
+
589
+ def tip(lines, caption = nil)
590
+ base_parablock "tip", lines, caption
591
+ end
592
+
593
+ def info(lines, caption = nil)
594
+ base_parablock "info", lines, caption
595
+ end
596
+
597
+ def planning(lines, caption = nil)
598
+ base_parablock "planning", lines, caption
599
+ end
600
+
601
+ def best(lines, caption = nil)
602
+ base_parablock "best", lines, caption
603
+ end
604
+
605
+ def important(lines, caption = nil)
606
+ base_parablock "important", lines, caption
607
+ end
608
+
609
+ def security(lines, caption = nil)
610
+ base_parablock "security", lines, caption
611
+ end
612
+
613
+ def caution(lines, caption = nil)
614
+ base_parablock "caution", lines, caption
615
+ end
616
+
617
+ def term(lines)
618
+ base_parablock "term", lines, nil
619
+ end
620
+
621
+ def link(lines, caption = nil)
622
+ base_parablock "link", lines, caption
623
+ end
624
+
625
+ def notice(lines, caption = nil)
626
+ base_parablock "notice", lines, caption
627
+ end
628
+
629
+ def point(lines, caption = nil)
630
+ base_parablock "point", lines, caption
631
+ end
632
+
633
+ def shoot(lines, caption = nil)
634
+ base_parablock "shoot", lines, caption
635
+ end
636
+
637
+ def reference(lines)
638
+ base_parablock "reference", lines, nil
639
+ end
640
+
641
+ def practice(lines)
642
+ base_parablock "practice", lines, nil
643
+ end
644
+
645
+ def expert(lines)
646
+ base_parablock "expert", lines, nil
647
+ end
648
+
649
+ def insn(lines, caption = nil)
650
+ base_block "insn", lines, caption
651
+ end
652
+
653
+ def warning(lines, caption = nil)
654
+ base_parablock "warning", lines, caption
655
+ end
656
+
657
+ alias_method :box, :insn
658
+
659
+ def indepimage(id, caption = "", metric = nil)
660
+ chapter, id = extract_chapter_id(id)
661
+ puts ".. _#{id}:"
662
+ blank
663
+ puts ".. figure:: images/#{chapter.name}/#{id}.#{image_ext}"
664
+ blank
665
+ puts " #{compile_inline(caption)}"
666
+ blank
667
+ end
668
+
669
+ alias_method :numberlessimage, :indepimage
670
+
671
+ def label(id)
672
+ puts ".. _#{id}:"
673
+ blank
674
+ end
675
+
676
+ def dtp(str)
677
+ # FIXME
678
+ end
679
+
680
+ def bpo(lines)
681
+ base_block "bpo", lines, nil
682
+ end
683
+
684
+ def inline_dtp(str)
685
+ ""
686
+ end
687
+
688
+ def inline_del(str)
689
+ " :del:`str` "
690
+ end
691
+
692
+ def inline_code(str)
693
+ " :code:`#{str}` "
694
+ end
695
+
696
+ def inline_br(str)
697
+ %Q(\n)
698
+ end
699
+
700
+ def text(str)
701
+ str
702
+ end
703
+
704
+ def inline_chap(id)
705
+ super
706
+ end
707
+
708
+ def inline_chapref(id)
709
+ " :numref:`#{id}` "
710
+ end
711
+
712
+ def source(lines, caption = nil, lang = nil)
713
+ base_block "source", lines, caption
714
+ end
715
+
716
+ def inline_ttibold(str)
717
+ # TODO
718
+ " **#{str}** "
719
+ end
720
+
721
+ def inline_labelref(idref)
722
+ end
723
+
724
+ alias_method :inline_ref, :inline_labelref
725
+
726
+ def inline_pageref(idref)
727
+ " :ref:`#{idref}` "
728
+ end
729
+
730
+ def circle_begin(level, label, caption)
731
+ puts "・\t#{caption}"
732
+ end
733
+
734
+ def circle_end(level)
735
+ end
736
+
737
+ def nofunc_text(str)
738
+ str
739
+ end
740
+
741
+ def bib_label(id)
742
+ " [#{id}]_ "
743
+ end
744
+ private :bib_label
745
+
746
+ def bibpaper_header(id, caption)
747
+ end
748
+
749
+ def bibpaper_bibpaper(id, caption, lines)
750
+ puts ".. [#{id}] #{compile_inline(caption)} #{split_paragraph(lines).join("")}"
751
+ end
752
+
753
+ def inline_warn(str)
754
+ " :warn:`#{str}` "
755
+ end
756
+
757
+ def inline_bib(id)
758
+ " [#{id}]_ "
759
+ end
760
+
761
+ end
762
+
763
+ end # module ReVIEW