review-retrovert 0.9.11 → 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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +1 -1
  3. data/.pinact.yaml +12 -0
  4. data/.ruby-version +1 -1
  5. data/Dockerfile +2 -1
  6. data/Dockerfile.local +13 -0
  7. data/Gemfile.lock +62 -35
  8. data/Rakefile +9 -0
  9. data/aqua.yaml +20 -0
  10. data/hooks/post_push +14 -1
  11. data/lib/review/retrovert/cli.rb +6 -0
  12. data/lib/review/retrovert/converter.rb +38 -0
  13. data/lib/review/retrovert/version.rb +1 -1
  14. data/lib/review/retrovert/yamlconfig.rb +38 -1
  15. data/review-retrovert.gemspec +18 -4
  16. data/zizmor.yml +5 -0
  17. metadata +53 -127
  18. data/.github/FUNDING.yml +0 -4
  19. data/.github/workflows/docker-build.yml +0 -26
  20. data/.github/workflows/release.yml +0 -26
  21. data/.github/workflows/retrovert.yml +0 -91
  22. data/testdata/mybook/.gitignore +0 -13
  23. data/testdata/mybook/.textlintrc +0 -11
  24. data/testdata/mybook/README.md +0 -43
  25. data/testdata/mybook/Rakefile +0 -24
  26. data/testdata/mybook/catalog.yml +0 -60
  27. data/testdata/mybook/config-noretrovert.yml +0 -404
  28. data/testdata/mybook/config-retrovert.yml +0 -16
  29. data/testdata/mybook/config-starter.yml +0 -264
  30. data/testdata/mybook/config.yml +0 -404
  31. data/testdata/mybook/contents/00-preface.re +0 -129
  32. data/testdata/mybook/contents/01-install.re +0 -305
  33. data/testdata/mybook/contents/02-tutorial.re +0 -1228
  34. data/testdata/mybook/contents/03-syntax.re +0 -4610
  35. data/testdata/mybook/contents/04-customize.re +0 -1064
  36. data/testdata/mybook/contents/05-faq.re +0 -606
  37. data/testdata/mybook/contents/06-bestpractice.re +0 -1343
  38. data/testdata/mybook/contents/91-compare.re +0 -418
  39. data/testdata/mybook/contents/92-filelist.re +0 -125
  40. data/testdata/mybook/contents/93-background.re +0 -267
  41. data/testdata/mybook/contents/99-postface.re +0 -39
  42. data/testdata/mybook/contents/r0-inner.re +0 -2
  43. data/testdata/mybook/contents/r0-root.re +0 -49
  44. data/testdata/mybook/contents/table.csv +0 -4
  45. data/testdata/mybook/contents/test.txt +0 -1
  46. data/testdata/mybook/contents/ut.re +0 -5
  47. data/testdata/mybook/css/normalize.css +0 -349
  48. data/testdata/mybook/css/webstyle.css +0 -692
  49. data/testdata/mybook/data/terms.txt +0 -3
  50. data/testdata/mybook/data/words.txt +0 -15
  51. data/testdata/mybook/images/03-syntax/favicon-16x16.png +0 -0
  52. data/testdata/mybook/images/03-syntax/figure_heretop.png +0 -0
  53. data/testdata/mybook/images/03-syntax/index-page.png +0 -0
  54. data/testdata/mybook/images/03-syntax/order-detail.png +0 -0
  55. data/testdata/mybook/images/03-syntax/tw-icon1.jpg +0 -0
  56. data/testdata/mybook/images/03-syntax/tw-icon2.jpg +0 -0
  57. data/testdata/mybook/images/03-syntax/tw-icon3.jpg +0 -0
  58. data/testdata/mybook/images/03-syntax/tw-icon4.jpg +0 -0
  59. data/testdata/mybook/images/04-customize/caption_pagebreak.png +0 -0
  60. data/testdata/mybook/images/04-customize/chaptitlepage_sample.png +0 -0
  61. data/testdata/mybook/images/04-customize/section_decoration_samples.png +0 -0
  62. data/testdata/mybook/images/05-faq/codeblock_rpadding1.png +0 -0
  63. data/testdata/mybook/images/05-faq/codeblock_rpadding2.png +0 -0
  64. data/testdata/mybook/images/05-faq/dummy-image.png +0 -0
  65. data/testdata/mybook/images/06-bestpractice/figure_heretop.png +0 -0
  66. data/testdata/mybook/images/06-bestpractice/font_beramono.png +0 -0
  67. data/testdata/mybook/images/06-bestpractice/heading_design1.png +0 -0
  68. data/testdata/mybook/images/06-bestpractice/heading_design2.png +0 -0
  69. data/testdata/mybook/images/06-bestpractice/margin_book.png +0 -0
  70. data/testdata/mybook/images/06-bestpractice/multiline-title.png +0 -0
  71. data/testdata/mybook/images/06-bestpractice/preface_numbered.png +0 -0
  72. data/testdata/mybook/images/06-bestpractice/program_border.png +0 -0
  73. data/testdata/mybook/images/06-bestpractice/sechead_design_4.png +0 -0
  74. data/testdata/mybook/images/06-bestpractice/section_title_wlines.png +0 -0
  75. data/testdata/mybook/images/06-bestpractice/titlepage-samples.png +0 -0
  76. data/testdata/mybook/images/93-background/bug913.png +0 -0
  77. data/testdata/mybook/images/93-background/slide2.png +0 -0
  78. data/testdata/mybook/images/avatar-b.png +0 -0
  79. data/testdata/mybook/images/avatar-g.png +0 -0
  80. data/testdata/mybook/images/avatar-r.png +0 -0
  81. data/testdata/mybook/images/caution-icon.png +0 -0
  82. data/testdata/mybook/images/cover_a5.pdf +0 -0
  83. data/testdata/mybook/images/cover_b5.pdf +0 -0
  84. data/testdata/mybook/images/info-icon.png +0 -0
  85. data/testdata/mybook/images/tw-icon.jpg +0 -0
  86. data/testdata/mybook/images/warning-icon.png +0 -0
  87. data/testdata/mybook/layouts/layout.epub.erb +0 -29
  88. data/testdata/mybook/layouts/layout.html5.erb +0 -108
  89. data/testdata/mybook/layouts/layout.tex.erb +0 -432
  90. data/testdata/mybook/layouts/layout.tex.erb.orig +0 -386
  91. data/testdata/mybook/lib/hooks/beforetexcompile.rb +0 -55
  92. data/testdata/mybook/lib/ruby/review-book.rb +0 -64
  93. data/testdata/mybook/lib/ruby/review-builder.rb +0 -1342
  94. data/testdata/mybook/lib/ruby/review-cli.rb +0 -58
  95. data/testdata/mybook/lib/ruby/review-compiler.rb +0 -1176
  96. data/testdata/mybook/lib/ruby/review-epubbuilder.rb +0 -33
  97. data/testdata/mybook/lib/ruby/review-epubmaker.rb +0 -609
  98. data/testdata/mybook/lib/ruby/review-htmlbuilder.rb +0 -949
  99. data/testdata/mybook/lib/ruby/review-latexbuilder.rb +0 -1065
  100. data/testdata/mybook/lib/ruby/review-maker.rb +0 -346
  101. data/testdata/mybook/lib/ruby/review-markdownbuilder.rb +0 -945
  102. data/testdata/mybook/lib/ruby/review-markdownmaker.rb +0 -91
  103. data/testdata/mybook/lib/ruby/review-monkeypatch.rb +0 -93
  104. data/testdata/mybook/lib/ruby/review-pdfmaker.rb +0 -546
  105. data/testdata/mybook/lib/ruby/review-textbuilder.rb +0 -36
  106. data/testdata/mybook/lib/ruby/review-tocparser.rb +0 -285
  107. data/testdata/mybook/lib/ruby/review-webmaker.rb +0 -448
  108. data/testdata/mybook/lib/tasks/mytasks.rake +0 -31
  109. data/testdata/mybook/lib/tasks/review.rake +0 -156
  110. data/testdata/mybook/lib/tasks/review.rake.orig +0 -72
  111. data/testdata/mybook/lib/tasks/starter.rake +0 -470
  112. data/testdata/mybook/locale.yml +0 -6
  113. data/testdata/mybook/review-ext.rb +0 -206
  114. data/testdata/mybook/sty/indexstyle.ist +0 -25
  115. data/testdata/mybook/sty/jumoline.sty +0 -310
  116. data/testdata/mybook/sty/mycolophon.sty +0 -81
  117. data/testdata/mybook/sty/mystyle.sty +0 -8
  118. data/testdata/mybook/sty/mytextsize.sty +0 -94
  119. data/testdata/mybook/sty/mytitlepage.sty +0 -126
  120. data/testdata/mybook/sty/review-base.sty +0 -276
  121. data/testdata/mybook/sty/reviewmacro.sty +0 -60
  122. data/testdata/mybook/sty/starter-codeblock.sty +0 -463
  123. data/testdata/mybook/sty/starter-color.sty +0 -134
  124. data/testdata/mybook/sty/starter-font.sty +0 -112
  125. data/testdata/mybook/sty/starter-heading.sty +0 -561
  126. data/testdata/mybook/sty/starter-misc.sty +0 -894
  127. data/testdata/mybook/sty/starter-note.sty +0 -180
  128. data/testdata/mybook/sty/starter-section.sty +0 -262
  129. data/testdata/mybook/sty/starter-talklist.sty +0 -105
  130. data/testdata/mybook/sty/starter-toc.sty +0 -72
  131. data/testdata/mybook/sty/starter-util.sty +0 -39
  132. data/testdata/mybook/sty/starter.sty +0 -36
  133. data/testdata/mybook/sty/ut.sty +0 -26
  134. data/testdata/mybook/style.css +0 -597
  135. data/testdata/mybook/ut-catalog.yml +0 -61
  136. data/testdata/mybook/ut-config-starter.yml +0 -3
  137. data/testdata/mybook/ut-config.yml +0 -404
@@ -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