rabbit 3.0.5 → 4.0.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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  3. data/doc/_config.yml +2 -2
  4. data/doc/en/news.rd +54 -0
  5. data/doc/ja/news.rd +54 -0
  6. data/lib/rabbit/actions.rb +446 -0
  7. data/lib/rabbit/author-configuration.rb +7 -10
  8. data/lib/rabbit/canvas.rb +74 -42
  9. data/lib/rabbit/command/rabbit-slide.rb +11 -13
  10. data/lib/rabbit/command/rabbit-theme.rb +10 -12
  11. data/lib/rabbit/command/rabbit.rb +31 -43
  12. data/lib/rabbit/console.rb +20 -22
  13. data/lib/rabbit/dependency-canvas.rb +2 -2
  14. data/lib/rabbit/element/base.rb +93 -6
  15. data/lib/rabbit/element/block-element.rb +17 -1
  16. data/lib/rabbit/element/block.rb +17 -1
  17. data/lib/rabbit/element/container-element.rb +59 -3
  18. data/lib/rabbit/element/description-list.rb +18 -2
  19. data/lib/rabbit/element/enum-list.rb +18 -2
  20. data/lib/rabbit/element/footnote.rb +18 -2
  21. data/lib/rabbit/element/image-title-slide.rb +17 -1
  22. data/lib/rabbit/element/image.rb +32 -2
  23. data/lib/rabbit/element/index-slide.rb +29 -13
  24. data/lib/rabbit/element/item-list.rb +18 -2
  25. data/lib/rabbit/element/method-list.rb +18 -2
  26. data/lib/rabbit/element/poppler-page.rb +17 -1
  27. data/lib/rabbit/element/poppler-slide.rb +18 -2
  28. data/lib/rabbit/element/poppler-title-slide.rb +18 -2
  29. data/lib/rabbit/element/preformatted.rb +18 -2
  30. data/lib/rabbit/element/slide-element.rb +29 -2
  31. data/lib/rabbit/element/slide.rb +18 -2
  32. data/lib/rabbit/element/syntax-highlighting.rb +17 -1
  33. data/lib/rabbit/element/table.rb +19 -3
  34. data/lib/rabbit/element/tag.rb +18 -2
  35. data/lib/rabbit/element/text-block-element.rb +18 -2
  36. data/lib/rabbit/element/text-container-element.rb +41 -2
  37. data/lib/rabbit/element/text-element.rb +17 -1
  38. data/lib/rabbit/element/text-renderer.rb +17 -1
  39. data/lib/rabbit/element/text.rb +4 -4
  40. data/lib/rabbit/element/title-slide.rb +19 -3
  41. data/lib/rabbit/element/video.rb +157 -56
  42. data/lib/rabbit/element.rb +20 -20
  43. data/lib/rabbit/formatter.rb +18 -1
  44. data/lib/rabbit/frame.rb +102 -90
  45. data/lib/rabbit/front.rb +11 -4
  46. data/lib/rabbit/gem-finder.rb +4 -8
  47. data/lib/rabbit/gem-pusher.rb +4 -4
  48. data/lib/rabbit/gesture/handler.rb +26 -21
  49. data/lib/rabbit/graffiti/config-dialog.rb +18 -2
  50. data/lib/rabbit/graffiti/processor.rb +20 -4
  51. data/lib/rabbit/gtk.rb +48 -14
  52. data/lib/rabbit/html/generator.rb +18 -18
  53. data/{test/helper/fixture.rb → lib/rabbit/icon.rb} +16 -6
  54. data/lib/rabbit/image/base.rb +7 -6
  55. data/lib/rabbit/image/default.rb +17 -1
  56. data/lib/rabbit/image/dia.rb +2 -2
  57. data/lib/rabbit/image/eps.rb +16 -2
  58. data/lib/rabbit/image/gimp.rb +28 -11
  59. data/lib/rabbit/image/mermaid.rb +3 -3
  60. data/lib/rabbit/image/pdf.rb +3 -3
  61. data/lib/rabbit/image/svg.rb +2 -2
  62. data/lib/rabbit/image.rb +8 -8
  63. data/lib/rabbit/info-window.rb +55 -18
  64. data/lib/rabbit/key-handler.rb +381 -0
  65. data/lib/rabbit/keys.rb +31 -2
  66. data/lib/rabbit/logger/base.rb +17 -1
  67. data/lib/rabbit/logger/gui.rb +20 -4
  68. data/lib/rabbit/logger/stderr.rb +16 -2
  69. data/lib/rabbit/logger.rb +4 -4
  70. data/lib/rabbit/menu.rb +200 -220
  71. data/lib/rabbit/parser/base.rb +17 -1
  72. data/lib/rabbit/parser/ext/aafigure.rb +17 -1
  73. data/lib/rabbit/parser/ext/blockdiag.rb +17 -1
  74. data/lib/rabbit/parser/ext/charty.rb +2 -2
  75. data/lib/rabbit/parser/ext/coderay.rb +20 -4
  76. data/lib/rabbit/parser/ext/enscript.rb +31 -15
  77. data/lib/rabbit/parser/ext/entity.rb +17 -1
  78. data/lib/rabbit/parser/ext/image.rb +6 -6
  79. data/lib/rabbit/parser/ext/inline.rb +17 -1
  80. data/lib/rabbit/parser/ext/rouge.rb +7 -4
  81. data/lib/rabbit/parser/ext/tex.rb +18 -2
  82. data/lib/rabbit/parser/ext/video.rb +4 -4
  83. data/lib/rabbit/parser/image.rb +20 -4
  84. data/lib/rabbit/parser/markdown/converter.rb +12 -13
  85. data/lib/rabbit/parser/markdown.rb +18 -2
  86. data/lib/rabbit/parser/pause-support.rb +1 -0
  87. data/lib/rabbit/parser/pdf.rb +3 -3
  88. data/lib/rabbit/parser/rd/ext/base.rb +20 -4
  89. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +24 -28
  90. data/lib/rabbit/parser/rd/ext/character-reference.rb +18 -2
  91. data/lib/rabbit/parser/rd/ext/image.rb +3 -3
  92. data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +6 -6
  93. data/lib/rabbit/parser/rd/ext/refer.rb +18 -2
  94. data/lib/rabbit/parser/rd/ext/video.rb +19 -2
  95. data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +24 -8
  96. data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +18 -2
  97. data/lib/rabbit/parser/rd/visitor.rb +18 -2
  98. data/lib/rabbit/parser/rd.rb +18 -2
  99. data/lib/rabbit/parser/wiki/output.rb +25 -28
  100. data/lib/rabbit/parser/wiki.rb +18 -2
  101. data/lib/rabbit/parser.rb +6 -6
  102. data/lib/rabbit/path-manipulatable.rb +4 -4
  103. data/lib/rabbit/progress.rb +17 -1
  104. data/lib/rabbit/properties.rb +3 -3
  105. data/lib/rabbit/rabbit.rb +15 -7
  106. data/lib/rabbit/readme-parser.rb +4 -6
  107. data/lib/rabbit/renderer/base.rb +44 -36
  108. data/lib/rabbit/renderer/color.rb +18 -2
  109. data/lib/rabbit/renderer/display/base.rb +10 -12
  110. data/lib/rabbit/renderer/display/button-handler.rb +141 -60
  111. data/lib/rabbit/renderer/display/cursor.rb +4 -5
  112. data/lib/rabbit/renderer/display/drawing-area-base.rb +32 -48
  113. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +10 -61
  114. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +19 -8
  115. data/lib/rabbit/renderer/display/drawing-area.rb +19 -15
  116. data/lib/rabbit/renderer/display/gesture.rb +9 -9
  117. data/lib/rabbit/renderer/display/graffiti.rb +22 -13
  118. data/lib/rabbit/renderer/display/info.rb +22 -2
  119. data/lib/rabbit/renderer/display/magnifier.rb +30 -17
  120. data/lib/rabbit/renderer/display/mask.rb +17 -1
  121. data/lib/rabbit/renderer/display/menu.rb +27 -3
  122. data/lib/rabbit/renderer/display/motion-handler.rb +45 -0
  123. data/lib/rabbit/renderer/display/progress.rb +17 -2
  124. data/lib/rabbit/renderer/display/scroll-handler.rb +60 -13
  125. data/lib/rabbit/renderer/display/search.rb +19 -2
  126. data/lib/rabbit/renderer/display/spotlight.rb +39 -25
  127. data/lib/rabbit/renderer/display.rb +16 -36
  128. data/lib/rabbit/renderer/engine/cairo.rb +4 -11
  129. data/lib/rabbit/renderer/engine.rb +17 -1
  130. data/lib/rabbit/renderer/kernel.rb +2 -20
  131. data/lib/rabbit/renderer/offscreen.rb +8 -14
  132. data/lib/rabbit/renderer/print-layout.rb +2 -2
  133. data/lib/rabbit/renderer/printer.rb +9 -16
  134. data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
  135. data/lib/rabbit/renderer/scene-node-widget.rb +63 -0
  136. data/lib/rabbit/renderer/scene.rb +508 -0
  137. data/lib/rabbit/renderer.rb +6 -6
  138. data/lib/rabbit/search-window.rb +18 -2
  139. data/lib/rabbit/searcher.rb +15 -1
  140. data/lib/rabbit/size.rb +9 -1
  141. data/lib/rabbit/slide-configuration.rb +11 -14
  142. data/lib/rabbit/soap/driver.rb +20 -4
  143. data/lib/rabbit/soap/server.rb +17 -1
  144. data/lib/rabbit/source/argf.rb +5 -5
  145. data/lib/rabbit/source/base.rb +5 -6
  146. data/lib/rabbit/source/file.rb +5 -5
  147. data/lib/rabbit/source/memory.rb +20 -4
  148. data/lib/rabbit/source/uri.rb +9 -11
  149. data/lib/rabbit/source-generator/hiki.rb +2 -7
  150. data/lib/rabbit/source-generator/markdown.rb +2 -7
  151. data/lib/rabbit/source-generator/rd.rb +2 -7
  152. data/lib/rabbit/source-generator.rb +4 -4
  153. data/lib/rabbit/source.rb +5 -5
  154. data/lib/rabbit/task/slide.rb +13 -11
  155. data/lib/rabbit/task/theme.rb +8 -11
  156. data/lib/rabbit/task.rb +3 -3
  157. data/lib/rabbit/theme/applier.rb +27 -11
  158. data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -1
  159. data/lib/rabbit/theme/color-circle/color-circle.rb +18 -1
  160. data/lib/rabbit/theme/cozmixng/cozmixng.rb +1 -1
  161. data/lib/rabbit/theme/default/default.rb +1 -0
  162. data/lib/rabbit/theme/default-icon/default-icon.rb +1 -1
  163. data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +17 -1
  164. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +9 -1
  165. data/lib/rabbit/theme/enishi-green/enishi-green.rb +1 -1
  166. data/lib/rabbit/theme/entry.rb +10 -12
  167. data/lib/rabbit/theme/icon/icon.rb +3 -8
  168. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +5 -5
  169. data/lib/rabbit/theme/image-timer/image-timer.rb +3 -3
  170. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +1 -0
  171. data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +1 -0
  172. data/lib/rabbit/theme/manager.rb +19 -9
  173. data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +1 -1
  174. data/lib/rabbit/theme/ranguba/ranguba.rb +1 -1
  175. data/lib/rabbit/theme/red-frame/red-frame.rb +6 -2
  176. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +1 -0
  177. data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +1 -1
  178. data/lib/rabbit/theme/searcher.rb +23 -7
  179. data/lib/rabbit/theme/slide-number/slide-number.rb +1 -1
  180. data/lib/rabbit/theme/slide-show/slide-show.rb +1 -1
  181. data/lib/rabbit/theme/table/table.rb +2 -2
  182. data/lib/rabbit/theme/video/property.rb +3 -0
  183. data/lib/rabbit/theme/video/video.rb +5 -0
  184. data/lib/rabbit/theme-configuration.rb +9 -11
  185. data/lib/rabbit/utils.rb +12 -94
  186. data/lib/rabbit/version.rb +1 -1
  187. data/lib/rabbit/xmlrpc/client.rb +17 -1
  188. data/lib/rabbit/xmlrpc/server.rb +17 -1
  189. data/po/en/rabbit.edit.po +324 -316
  190. data/po/en/rabbit.po +61 -55
  191. data/po/fr/rabbit.edit.po +324 -316
  192. data/po/fr/rabbit.po +61 -55
  193. data/po/ja/rabbit.edit.po +345 -370
  194. data/po/ja/rabbit.po +83 -80
  195. data/rabbit.gemspec +4 -2
  196. data/sample/block-quote.rab +13 -0
  197. data/sample/description-list.rab +17 -0
  198. data/sample/mermaid.rab +16 -0
  199. data/sample/rabbit-en.hiki +0 -1
  200. data/sample/rabbit-en.md +0 -1
  201. data/sample/rabbit-en.rd +0 -1
  202. data/sample/rabbit.hiki +0 -1
  203. data/sample/rabbit.md +0 -1
  204. data/sample/rabbit.rd +0 -1
  205. data/sample/video.rab +17 -0
  206. metadata +33 -65
  207. data/lib/rabbit/action/basic.rb +0 -304
  208. data/lib/rabbit/action/radio.rb +0 -78
  209. data/lib/rabbit/action/toggle.rb +0 -82
  210. data/lib/rabbit/action.rb +0 -140
  211. data/lib/rabbit/renderer/display/gl.rb +0 -98
  212. data/lib/rabbit/renderer/display/key-handler.rb +0 -321
  213. data/lib/rabbit/renderer/gl.rb +0 -95
  214. data/lib/rabbit/renderer/screen.rb +0 -286
  215. data/lib/rabbit/renderer/widget/drawing-area.rb +0 -93
  216. data/lib/rabbit/stock.rb +0 -31
  217. data/lib/rabbit/trackball.rb +0 -228
  218. data/lib/rabbit/video-window.rb +0 -123
  219. data/test/command/test-rabbit.rb +0 -101
  220. data/test/helper/parser.rb +0 -48
  221. data/test/helper.rb +0 -24
  222. data/test/image/test-dia.rb +0 -54
  223. data/test/image/test-eps.rb +0 -41
  224. data/test/parser/test-markdown.rb +0 -360
  225. data/test/parser/test-rd.rb +0 -43
  226. data/test/parser/test-wiki.rb +0 -71
  227. data/test/run-test.rb +0 -27
  228. data/test/source-generator/test-hiki.rb +0 -68
  229. data/test/source-generator/test-markdown.rb +0 -67
  230. data/test/source-generator/test-rd.rb +0 -69
  231. data/test/test-applier.rb +0 -73
  232. data/test/test-author-configuration.rb +0 -37
  233. data/test/test-canvas.rb +0 -70
  234. data/test/test-color.rb +0 -51
  235. data/test/test-element.rb +0 -103
  236. data/test/test-readme-parser.rb +0 -160
  237. data/test/test-size.rb +0 -155
  238. data/test/test-slide-configuration.rb +0 -74
  239. data/test/test-source.rb +0 -122
  240. data/test/test-theme-configuration.rb +0 -47
  241. data/test/test-utils.rb +0 -64
@@ -1,5 +1,21 @@
1
- require 'rabbit/parser/rd/ext/base'
2
- require 'rabbit/parser/rd/ext/image'
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require_relative "base"
18
+ require_relative "image"
3
19
 
4
20
  module Rabbit
5
21
  module Parser
@@ -1,5 +1,22 @@
1
- require 'rabbit/element'
2
- require 'rabbit/parser/ext/video'
1
+ # Copyright (C) 2012 Narihiro Nakamura <authornari@gmail.com>
2
+ # Copyright (C) 2025 Sutou Kouhei <kou@cozmixng.org>
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; either version 2 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License along
15
+ # with this program; if not, write to the Free Software Foundation, Inc.,
16
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+
18
+ require_relative "../../../element"
19
+ require_relative "../../ext/video"
3
20
 
4
21
  module Rabbit
5
22
  module Parser
@@ -1,12 +1,28 @@
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
1
17
  require "forwardable"
2
18
 
3
- require "rabbit/element"
4
- require 'rabbit/parser/pause-support'
5
- require 'rabbit/parser/ext/escape'
6
- require 'rabbit/parser/rd/visitor'
7
- require "rabbit/parser/rd/ext/refer"
8
- require "rabbit/parser/rd/ext/inline-verbatim"
9
- require "rabbit/parser/rd/ext/block-verbatim"
19
+ require_relative "../../element"
20
+ require_relative "../pause-support"
21
+ require_relative "../ext/escape"
22
+ require_relative "visitor"
23
+ require_relative "ext/refer"
24
+ require_relative "ext/inline-verbatim"
25
+ require_relative "ext/block-verbatim"
10
26
 
11
27
  module Rabbit
12
28
  module Parser
@@ -53,7 +69,7 @@ module Rabbit
53
69
  "block_verbatim" => Ext::BlockVerbatim,
54
70
  }
55
71
 
56
- def_delegators(:@canvas, :logger, :full_path, :tmp_dir_name)
72
+ def_delegators(:@canvas, :full_path, :tmp_dir_name)
57
73
 
58
74
  attr_reader :canvas
59
75
  attr_reader :progress
@@ -1,6 +1,22 @@
1
- require 'rt/rtparser'
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2
16
 
3
- require 'rabbit/element'
17
+ require "rt/rtparser"
18
+
19
+ require_relative "../../../element"
4
20
 
5
21
  module Rabbit
6
22
 
@@ -1,7 +1,23 @@
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
1
17
  require "rd/rdvisitor"
2
18
  require "rd/version"
3
19
 
4
- require 'rabbit/rabbit'
20
+ require_relative "../../rabbit"
5
21
 
6
22
  module Rabbit
7
23
  module Parser
@@ -47,7 +63,7 @@ module Rabbit
47
63
 
48
64
  def fatal_on_extension_not_available(label, type)
49
65
  message = _("[BUG] [%s] %s extension isn't available.")
50
- logger.fatal(message % [label, ext_type])
66
+ Rabbit.logger.fatal(message % [label, ext_type])
51
67
  end
52
68
  end
53
69
  end
@@ -1,6 +1,22 @@
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
1
17
  require "rd/rdfmt"
2
18
 
3
- require "rabbit/parser/base"
19
+ require_relative "base"
4
20
 
5
21
  module Rabbit
6
22
  module Parser
@@ -9,7 +25,7 @@ module Rabbit
9
25
  end
10
26
  end
11
27
 
12
- require "rabbit/parser/rd/rd2rabbit-lib"
28
+ require_relative "rd/rd2rabbit-lib"
13
29
 
14
30
  module Rabbit
15
31
  module Parser
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2007-2022 Sutou Kouhei <kou@cozmixng.org>
1
+ # Copyright (C) 2007-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -14,19 +14,19 @@
14
14
  # with this program; if not, write to the Free Software Foundation, Inc.,
15
15
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
16
 
17
- require "rabbit/gettext"
18
- require "rabbit/element"
19
- require "rabbit/parser/pause-support"
20
- require "rabbit/parser/ext/escape"
21
- require "rabbit/parser/ext/inline"
22
- require "rabbit/parser/ext/image"
23
- require "rabbit/parser/ext/enscript"
24
- require "rabbit/parser/ext/tex"
25
- require "rabbit/parser/ext/aafigure"
26
- require "rabbit/parser/ext/blockdiag"
27
- require "rabbit/parser/ext/coderay"
28
- require "rabbit/parser/ext/entity"
29
- require "rabbit/parser/ext/rouge"
17
+ require_relative "../../gettext"
18
+ require_relative "../../element"
19
+ require_relative "../pause-support"
20
+ require_relative "../ext/escape"
21
+ require_relative "../ext/inline"
22
+ require_relative "../ext/image"
23
+ require_relative "../ext/enscript"
24
+ require_relative "../ext/tex"
25
+ require_relative "../ext/aafigure"
26
+ require_relative "../ext/blockdiag"
27
+ require_relative "../ext/coderay"
28
+ require_relative "../ext/entity"
29
+ require_relative "../ext/rouge"
30
30
 
31
31
  module Rabbit
32
32
  module Parser
@@ -102,7 +102,7 @@ module Rabbit
102
102
  end
103
103
 
104
104
  def hrule
105
- @canvas.logger.warn(_("horizontal rule is unsupported")) if @parent
105
+ Rabbit.logger.warn(_("horizontal rule is unsupported")) if @parent
106
106
  end
107
107
 
108
108
  def list_begin
@@ -282,7 +282,7 @@ module Rabbit
282
282
  result = nil
283
283
 
284
284
  if lang
285
- result = Ext::Rouge.highlight(lang, contents, @canvas.logger)
285
+ result = Ext::Rouge.highlight(lang, contents, {})
286
286
  end
287
287
 
288
288
  if result
@@ -352,7 +352,7 @@ module Rabbit
352
352
 
353
353
  private
354
354
  def unsupported_list_type(type)
355
- @canvas.logger.warn(_("unsupported list type: %s") % type)
355
+ Rabbit.logger.warn(_("unsupported list type: %s") % type)
356
356
  end
357
357
 
358
358
  def evaluate_inline_plugin(src)
@@ -360,7 +360,7 @@ module Rabbit
360
360
  rescue ParseError
361
361
  raise
362
362
  rescue
363
- @canvas.logger.warn($!)
363
+ Rabbit.logger.warn($!)
364
364
  nil
365
365
  end
366
366
 
@@ -369,7 +369,7 @@ module Rabbit
369
369
  rescue ParseError
370
370
  raise
371
371
  rescue
372
- @canvas.logger.warn($!)
372
+ Rabbit.logger.warn($!)
373
373
  nil
374
374
  end
375
375
 
@@ -478,9 +478,8 @@ module Rabbit
478
478
  alias_method :img, :image
479
479
 
480
480
  def enscript(lang, source)
481
- logger = @output.canvas.logger
482
- if Ext::Enscript.check_availability(lang, logger)
483
- Ext::Enscript.highlight(lang, source, logger)
481
+ if Ext::Enscript.check_availability(lang)
482
+ Ext::Enscript.highlight(lang, source)
484
483
  else
485
484
  nil
486
485
  end
@@ -490,7 +489,7 @@ module Rabbit
490
489
  args = [@output.canvas, source]
491
490
  Ext::Image.make_image_from_file(*args) do |src_file|
492
491
  props = Utils.stringify_hash_key(props)
493
- args = [src_file.path, props, @output.canvas]
492
+ args = [src_file.path, props]
494
493
  [Ext::TeX.make_image_by_LaTeX(*args), props]
495
494
  end
496
495
  end
@@ -500,7 +499,7 @@ module Rabbit
500
499
  args = [@output.canvas, source]
501
500
  Ext::Image.make_image_from_file(*args) do |src_file|
502
501
  props = Utils.stringify_hash_key(props)
503
- args = [src_file.path, props, @output.canvas]
502
+ args = [src_file.path, props]
504
503
  [Ext::TeX.make_image_by_mimeTeX(*args), props]
505
504
  end
506
505
  end
@@ -525,13 +524,11 @@ module Rabbit
525
524
  end
526
525
 
527
526
  def coderay(lang, source)
528
- logger = @output.canvas.logger
529
- Ext::CodeRay.highlight(lang, source, logger)
527
+ Ext::CodeRay.highlight(lang, source)
530
528
  end
531
529
 
532
530
  def rouge(lang, source)
533
- logger = @output.canvas.logger
534
- Ext::Rouge.highlight(lang, source, logger)
531
+ Ext::Rouge.highlight(lang, source, {})
535
532
  end
536
533
 
537
534
  def tag(name, value=nil)
@@ -1,6 +1,22 @@
1
+ # Copyright (C) 2007-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
1
17
  require "hikidoc"
2
18
 
3
- require "rabbit/parser/base"
19
+ require_relative "base"
4
20
 
5
21
  module Rabbit
6
22
  module Parser
@@ -9,7 +25,7 @@ module Rabbit
9
25
  end
10
26
  end
11
27
 
12
- require "rabbit/parser/wiki/output"
28
+ require_relative "wiki/output"
13
29
 
14
30
  module Rabbit
15
31
  module Parser
data/lib/rabbit/parser.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2007-2017 Kouhei Sutou <kou@cozmixng.org>
1
+ # Copyright (C) 2007-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -14,13 +14,13 @@
14
14
  # with this program; if not, write to the Free Software Foundation, Inc.,
15
15
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
16
 
17
- require "rabbit/parser/markdown"
18
- require "rabbit/parser/pdf"
19
- require "rabbit/parser/rd"
20
- require "rabbit/parser/wiki"
17
+ require_relative "parser/markdown"
18
+ require_relative "parser/pdf"
19
+ require_relative "parser/rd"
20
+ require_relative "parser/wiki"
21
21
 
22
22
  # Image is fallback
23
- require "rabbit/parser/image"
23
+ require_relative "parser/image"
24
24
 
25
25
  module Rabbit
26
26
  module Parser
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012 Kouhei Sutou <kou@cozmixng.org>
1
+ # Copyright (C) 2012-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
17
17
  require "fileutils"
18
18
  require "pathname"
19
19
 
20
- require "rabbit/gettext"
20
+ require_relative "rabbit"
21
21
 
22
22
  module Rabbit
23
23
  module PathManipulatable
@@ -25,12 +25,12 @@ module Rabbit
25
25
 
26
26
  private
27
27
  def create_directory(path)
28
- @logger.info(_("Creating directory: %s") % path)
28
+ Rabbit.logger.info(_("Creating directory: %s") % path)
29
29
  FileUtils.mkdir_p(path)
30
30
  end
31
31
 
32
32
  def create_file(path, &block)
33
- @logger.info(_("Creating file: %s") % path)
33
+ Rabbit.logger.info(_("Creating file: %s") % path)
34
34
  File.open(path, "w", &block)
35
35
  end
36
36
  end
@@ -1,4 +1,20 @@
1
- require 'rabbit/gtk'
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require_relative "gtk"
2
18
 
3
19
  module Rabbit
4
20
  class Progress
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2020-2021 Sutou Kouhei <kou@cozmixng.org>
1
+ # Copyright (C) 2020-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -14,8 +14,8 @@
14
14
  # with this program; if not, write to the Free Software Foundation, Inc.,
15
15
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
16
 
17
- require "rabbit/relative-size"
18
- require "rabbit/yaml-loader"
17
+ require_relative "relative-size"
18
+ require_relative "yaml-loader"
19
19
 
20
20
  module Rabbit
21
21
  class Properties
data/lib/rabbit/rabbit.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2004-2012 Kouhei Sutou <kou@cozmixng.org>
1
+ # Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -14,19 +14,19 @@
14
14
  # with this program; if not, write to the Free Software Foundation, Inc.,
15
15
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
16
 
17
- require "rabbit/config"
17
+ require_relative "config"
18
18
 
19
- require "rabbit/gettext"
20
- require "rabbit/version"
19
+ require_relative "gettext"
20
+ require_relative "version"
21
21
 
22
- require "rabbit/error"
23
-
24
- require "rabbit/gtk"
22
+ require_relative "error"
23
+ require_relative "logger"
25
24
 
26
25
  module Rabbit
27
26
  TMP_DIR_NAME = ".tmp"
28
27
 
29
28
  @@application = nil
29
+ @@logger = nil
30
30
  @@gui_init_procs = []
31
31
  @@cleanup_procs = []
32
32
 
@@ -36,5 +36,13 @@ module Rabbit
36
36
  Gtk::Application.new("org.rabbit-shocker.Rabbit",
37
37
  [:non_unique, :handles_command_line])
38
38
  end
39
+
40
+ def logger
41
+ @@logger ||= Logger.default
42
+ end
43
+
44
+ def logger=(logger)
45
+ @@logger = logger
46
+ end
39
47
  end
40
48
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012 Kouhei Sutou <kou@cozmixng.org>
1
+ # Copyright (C) 2012-2025 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This program is free software; you can redistribute it and/or modify
4
4
  # it under the terms of the GNU General Public License as published by
@@ -14,18 +14,16 @@
14
14
  # with this program; if not, write to the Free Software Foundation, Inc.,
15
15
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
16
 
17
- require "rabbit/gettext"
18
- require "rabbit/path-manipulatable"
17
+ require_relative "gettext"
18
+ require_relative "path-manipulatable"
19
19
 
20
20
  module Rabbit
21
21
  class READMEParser
22
22
  include GetText
23
23
  include PathManipulatable
24
24
 
25
- attr_accessor :logger
26
25
  attr_reader :title, :description
27
- def initialize(logger=nil)
28
- @logger = logger || Logger.default
26
+ def initialize
29
27
  @title = nil
30
28
  @description = nil
31
29
  end