review-retrovert 0.9.10 → 0.10.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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +1 -1
  3. data/.gitignore +0 -1
  4. data/.pinact.yaml +12 -0
  5. data/.ruby-version +1 -1
  6. data/Dockerfile +2 -1
  7. data/Dockerfile.local +13 -0
  8. data/Gemfile.lock +62 -35
  9. data/Makefile +7 -0
  10. data/README.md +2 -1
  11. data/Rakefile +9 -0
  12. data/aqua.yaml +20 -0
  13. data/hooks/post_push +14 -1
  14. data/lib/review/retrovert/cli.rb +10 -2
  15. data/lib/review/retrovert/converter.rb +106 -20
  16. data/lib/review/retrovert/reviewdef.rb +29 -0
  17. data/lib/review/retrovert/sty/review-utbook.cls +7 -0
  18. data/lib/review/retrovert/version.rb +1 -1
  19. data/lib/review/retrovert/yamlconfig.rb +38 -1
  20. data/review-retrovert.gemspec +18 -4
  21. data/zizmor.yml +5 -0
  22. metadata +54 -121
  23. data/.github/FUNDING.yml +0 -4
  24. data/.github/workflows/release.yml +0 -26
  25. data/.github/workflows/retrovert.yml +0 -76
  26. data/testdata/mybook/.gitignore +0 -9
  27. data/testdata/mybook/.textlintrc +0 -11
  28. data/testdata/mybook/README.md +0 -43
  29. data/testdata/mybook/Rakefile +0 -24
  30. data/testdata/mybook/catalog.yml +0 -60
  31. data/testdata/mybook/config-noretrovert.yml +0 -404
  32. data/testdata/mybook/config-retrovert.yml +0 -16
  33. data/testdata/mybook/config-starter.yml +0 -264
  34. data/testdata/mybook/config.yml +0 -404
  35. data/testdata/mybook/contents/00-preface.re +0 -129
  36. data/testdata/mybook/contents/01-install.re +0 -305
  37. data/testdata/mybook/contents/02-tutorial.re +0 -1228
  38. data/testdata/mybook/contents/03-syntax.re +0 -4610
  39. data/testdata/mybook/contents/04-customize.re +0 -1064
  40. data/testdata/mybook/contents/05-faq.re +0 -606
  41. data/testdata/mybook/contents/06-bestpractice.re +0 -1343
  42. data/testdata/mybook/contents/91-compare.re +0 -418
  43. data/testdata/mybook/contents/92-filelist.re +0 -125
  44. data/testdata/mybook/contents/93-background.re +0 -267
  45. data/testdata/mybook/contents/99-postface.re +0 -39
  46. data/testdata/mybook/contents/r0-inner.re +0 -2
  47. data/testdata/mybook/contents/r0-root.re +0 -31
  48. data/testdata/mybook/contents/table.csv +0 -4
  49. data/testdata/mybook/contents/test.txt +0 -1
  50. data/testdata/mybook/css/normalize.css +0 -349
  51. data/testdata/mybook/css/webstyle.css +0 -692
  52. data/testdata/mybook/data/terms.txt +0 -3
  53. data/testdata/mybook/data/words.txt +0 -15
  54. data/testdata/mybook/images/03-syntax/favicon-16x16.png +0 -0
  55. data/testdata/mybook/images/03-syntax/figure_heretop.png +0 -0
  56. data/testdata/mybook/images/03-syntax/index-page.png +0 -0
  57. data/testdata/mybook/images/03-syntax/order-detail.png +0 -0
  58. data/testdata/mybook/images/03-syntax/tw-icon1.jpg +0 -0
  59. data/testdata/mybook/images/03-syntax/tw-icon2.jpg +0 -0
  60. data/testdata/mybook/images/03-syntax/tw-icon3.jpg +0 -0
  61. data/testdata/mybook/images/03-syntax/tw-icon4.jpg +0 -0
  62. data/testdata/mybook/images/04-customize/caption_pagebreak.png +0 -0
  63. data/testdata/mybook/images/04-customize/chaptitlepage_sample.png +0 -0
  64. data/testdata/mybook/images/04-customize/section_decoration_samples.png +0 -0
  65. data/testdata/mybook/images/05-faq/codeblock_rpadding1.png +0 -0
  66. data/testdata/mybook/images/05-faq/codeblock_rpadding2.png +0 -0
  67. data/testdata/mybook/images/05-faq/dummy-image.png +0 -0
  68. data/testdata/mybook/images/06-bestpractice/figure_heretop.png +0 -0
  69. data/testdata/mybook/images/06-bestpractice/font_beramono.png +0 -0
  70. data/testdata/mybook/images/06-bestpractice/heading_design1.png +0 -0
  71. data/testdata/mybook/images/06-bestpractice/heading_design2.png +0 -0
  72. data/testdata/mybook/images/06-bestpractice/margin_book.png +0 -0
  73. data/testdata/mybook/images/06-bestpractice/multiline-title.png +0 -0
  74. data/testdata/mybook/images/06-bestpractice/preface_numbered.png +0 -0
  75. data/testdata/mybook/images/06-bestpractice/program_border.png +0 -0
  76. data/testdata/mybook/images/06-bestpractice/sechead_design_4.png +0 -0
  77. data/testdata/mybook/images/06-bestpractice/section_title_wlines.png +0 -0
  78. data/testdata/mybook/images/06-bestpractice/titlepage-samples.png +0 -0
  79. data/testdata/mybook/images/93-background/bug913.png +0 -0
  80. data/testdata/mybook/images/93-background/slide2.png +0 -0
  81. data/testdata/mybook/images/avatar-b.png +0 -0
  82. data/testdata/mybook/images/avatar-g.png +0 -0
  83. data/testdata/mybook/images/avatar-r.png +0 -0
  84. data/testdata/mybook/images/caution-icon.png +0 -0
  85. data/testdata/mybook/images/cover_a5.pdf +0 -0
  86. data/testdata/mybook/images/cover_b5.pdf +0 -0
  87. data/testdata/mybook/images/info-icon.png +0 -0
  88. data/testdata/mybook/images/tw-icon.jpg +0 -0
  89. data/testdata/mybook/images/warning-icon.png +0 -0
  90. data/testdata/mybook/layouts/layout.epub.erb +0 -29
  91. data/testdata/mybook/layouts/layout.html5.erb +0 -108
  92. data/testdata/mybook/layouts/layout.tex.erb +0 -432
  93. data/testdata/mybook/layouts/layout.tex.erb.orig +0 -386
  94. data/testdata/mybook/lib/hooks/beforetexcompile.rb +0 -55
  95. data/testdata/mybook/lib/ruby/review-book.rb +0 -64
  96. data/testdata/mybook/lib/ruby/review-builder.rb +0 -1342
  97. data/testdata/mybook/lib/ruby/review-cli.rb +0 -58
  98. data/testdata/mybook/lib/ruby/review-compiler.rb +0 -1176
  99. data/testdata/mybook/lib/ruby/review-epubbuilder.rb +0 -33
  100. data/testdata/mybook/lib/ruby/review-epubmaker.rb +0 -609
  101. data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +0 -949
  102. data/testdata/mybook/lib/ruby/review-latexbuilder.rb +0 -1065
  103. data/testdata/mybook/lib/ruby/review-maker.rb +0 -346
  104. data/testdata/mybook/lib/ruby/review-markdownbuilder.rb +0 -945
  105. data/testdata/mybook/lib/ruby/review-markdownmaker.rb +0 -91
  106. data/testdata/mybook/lib/ruby/review-monkeypatch.rb +0 -93
  107. data/testdata/mybook/lib/ruby/review-pdfmaker.rb +0 -546
  108. data/testdata/mybook/lib/ruby/review-textbuilder.rb +0 -36
  109. data/testdata/mybook/lib/ruby/review-tocparser.rb +0 -285
  110. data/testdata/mybook/lib/ruby/review-webmaker.rb +0 -448
  111. data/testdata/mybook/lib/tasks/mytasks.rake +0 -31
  112. data/testdata/mybook/lib/tasks/review.rake +0 -156
  113. data/testdata/mybook/lib/tasks/review.rake.orig +0 -72
  114. data/testdata/mybook/lib/tasks/starter.rake +0 -470
  115. data/testdata/mybook/locale.yml +0 -6
  116. data/testdata/mybook/review-ext.rb +0 -206
  117. data/testdata/mybook/sty/indexstyle.ist +0 -25
  118. data/testdata/mybook/sty/jumoline.sty +0 -310
  119. data/testdata/mybook/sty/mycolophon.sty +0 -81
  120. data/testdata/mybook/sty/mystyle.sty +0 -8
  121. data/testdata/mybook/sty/mytextsize.sty +0 -90
  122. data/testdata/mybook/sty/mytitlepage.sty +0 -126
  123. data/testdata/mybook/sty/review-base.sty +0 -276
  124. data/testdata/mybook/sty/reviewmacro.sty +0 -60
  125. data/testdata/mybook/sty/starter-codeblock.sty +0 -463
  126. data/testdata/mybook/sty/starter-color.sty +0 -134
  127. data/testdata/mybook/sty/starter-font.sty +0 -112
  128. data/testdata/mybook/sty/starter-heading.sty +0 -561
  129. data/testdata/mybook/sty/starter-misc.sty +0 -894
  130. data/testdata/mybook/sty/starter-note.sty +0 -180
  131. data/testdata/mybook/sty/starter-section.sty +0 -262
  132. data/testdata/mybook/sty/starter-talklist.sty +0 -105
  133. data/testdata/mybook/sty/starter-toc.sty +0 -72
  134. data/testdata/mybook/sty/starter-util.sty +0 -35
  135. data/testdata/mybook/sty/starter.sty +0 -36
  136. data/testdata/mybook/style.css +0 -597
@@ -1,91 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- require 'pathname'
4
-
5
- require_relative './review-cli'
6
- require_relative './review-maker'
7
- require_relative './review-markdownbuilder'
8
-
9
-
10
- module ReVIEW
11
-
12
-
13
- class MarkdownMaker < Maker
14
-
15
- SCRIPT_NAME = "review-markdownmaker"
16
-
17
- def generate()
18
- @build_dir = make_build_dir()
19
- begin
20
- book = load_book() # also loads 'review-ext.rb'
21
- converter = ReVIEW::Converter.new(book, new_builder())
22
- errors = create_input_files(converter, book)
23
- if errors && !errors.empty?
24
- handle_compile_errors(errors)
25
- end
26
- return @build_dir
27
- ensure
28
- end
29
- end
30
-
31
- protected
32
-
33
- def new_builder()
34
- return ReVIEW::MarkdownBuilder.new
35
- end
36
-
37
- def make_build_dir()
38
- dir = "#{@config['bookname']}-md"
39
- if !File.directory?(dir)
40
- Dir.mkdir(dir)
41
- else
42
- Dir.glob("#{dir}/*").each {|x| FileUtils.rm_rf(x) }
43
- end
44
- return dir
45
- end
46
-
47
- def create_input_files(converter, book)
48
- errors = []
49
- book.each_input_file do |part, chap|
50
- if part
51
- err = output_chaps(converter, part.name) if part.file?
52
- elsif chap
53
- filename = File.basename(chap.path, '.*')
54
- err = output_chaps(converter, filename)
55
- end
56
- errors << err if err
57
- end
58
- return errors
59
- end
60
-
61
- def output_chaps(converter, filename)
62
- contdir = @config['contentdir']
63
- infile = "#{filename}.re"
64
- infile = File.join(contdir, infile) if contdir.present?
65
- outfile = "#{filename}.md"
66
- $stderr.puts "compiling #{outfile}"
67
- begin
68
- converter.convert(infile, File.join(@build_dir, outfile))
69
- nil
70
- ## 文法エラーだけキャッチし、それ以外のエラーはキャッチしないよう変更
71
- ## (LATEXBuilderで起こったエラーのスタックトレースを表示する)
72
- rescue ApplicationError => ex
73
- warn "compile error in #{outfile} (#{ex.class})"
74
- warn colored_errmsg(ex.message)
75
- ex.message
76
- end
77
- end
78
-
79
- def handle_compile_errors(errors)
80
- return if errors.nil? || errors.empty?
81
- if @config['ignore-errors']
82
- $stderr.puts 'compile error, but try to generate PDF file'
83
- else
84
- error 'compile error, No PDF file output.'
85
- end
86
- end
87
-
88
- end
89
-
90
-
91
- end
@@ -1,93 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- ##
4
- ## change ReVIEW source code
5
- ##
6
-
7
- require_relative './review-book' ## Book::Baseクラスを修正
8
- require_relative './review-compiler' ## Compilerクラスを修正
9
- require_relative './review-builder' ## Builderクラスを修正
10
- require_relative './review-latexbuilder' ## LaTeX用の機能を修正
11
- require_relative './review-htmlbuilder' ## HTML用の機能を修正
12
- require_relative './review-textbuilder' ## テキスト用の機能を修正
13
- #require_relative './review-pdfmaker' ## PDF用の機能を修正 (for Rake task)
14
- require_relative './review-epubbuilder' ## テキスト用の機能を修正
15
- require_relative './review-webmaker' ## Webページ用の機能を修正
16
- require_relative './review-tocparser' ## Web用目次作成機能を修正
17
-
18
-
19
- module ReVIEW
20
-
21
-
22
- Book::Base.class_eval do
23
-
24
- ## 環境変数 $STARTER_CHAPTER で指定された章だけをコンパイルするよう改造
25
- def each_input_file()
26
- env_starter = ENV['STARTER_CHAPTER']
27
- env_starter = nil unless env_starter.present?
28
- found = false
29
- self.parts.each do |part|
30
- yield part, nil if part.name.present? && !env_starter
31
- part.chapters.each do |chap|
32
- next if env_starter && env_starter != chap.name
33
- found = true
34
- yield nil, chap
35
- end
36
- end
37
- if env_starter && !found
38
- raise "ERROR: chapter file '#{env_starter}.re' not found. ($STARTER_CHAPTER='#{env_starter}')"
39
- end
40
- nil
41
- end
42
-
43
- end
44
-
45
-
46
- class PDFMaker
47
-
48
- ### original: 2.4, 2.5
49
- #def call_hook(hookname)
50
- # return if !@config['pdfmaker'].is_a?(Hash) || @config['pdfmaker'][hookname].nil?
51
- # hook = File.absolute_path(@config['pdfmaker'][hookname], @basehookdir)
52
- # if ENV['REVIEW_SAFE_MODE'].to_i & 1 > 0
53
- # warn 'hook configuration is prohibited in safe mode. ignored.'
54
- # else
55
- # system_or_raise("#{hook} #{Dir.pwd} #{@basehookdir}")
56
- # end
57
- #end
58
- ### /original
59
-
60
- def call_hook(hookname) # review-pdfmaker がエラーにならないために
61
- d = @config['pdfmaker']
62
- return unless d.is_a?(Hash)
63
- return unless d[hookname]
64
- if ENV['REVIEW_SAFE_MODE'].to_i & 1 > 0
65
- warn 'hook configuration is prohibited in safe mode. ignored.'
66
- return
67
- end
68
- ## hookname が文字列の配列なら、それらを全部実行する
69
- basehookdir = @basehookdir
70
- [d[hookname]].flatten.each do |hook|
71
- script = File.absolute_path(hook, basehookdir)
72
- ## 拡張子が .rb なら、rubyコマンドで実行する(ファイルに実行属性がなくてもよい)
73
- if script.end_with?('.rb')
74
- ruby = ruby_fullpath()
75
- ruby = "ruby" unless File.exist?(ruby)
76
- system_or_raise(ruby, script, Dir.pwd, basehookdir)
77
- else
78
- system_or_raise(script, Dir.pwd, basehookdir)
79
- end
80
- end
81
- end
82
-
83
- private
84
- def ruby_fullpath
85
- require 'rbconfig'
86
- c = RbConfig::CONFIG
87
- return File.join(c['bindir'], c['ruby_install_name']) + c['EXEEXT'].to_s
88
- end
89
-
90
- end unless defined?(Maker)
91
-
92
-
93
- end