rabbit 3.0.3 → 3.0.4
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.
- checksums.yaml +4 -4
- data/Gemfile +31 -0
- data/Rakefile +51 -73
- data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/doc/en/how-to-make/markdown.md +28 -2
- data/doc/en/how-to-make/rd.rd +28 -2
- data/doc/en/install/homebrew.rd +0 -15
- data/doc/en/news.rd +67 -0
- data/doc/en/sample/hiki/rabbit.hiki +1 -1
- data/doc/en/sample/markdown/rabbit.md +1 -1
- data/doc/en/sample/rd/rabbit.rd +1 -1
- data/doc/en/usage/rabbit-slide.rd +1 -1
- data/doc/en/usage/rabbit.rd +1 -1
- data/doc/ja/how-to-make/markdown.md +25 -5
- data/doc/ja/how-to-make/rd.rd +25 -5
- data/doc/ja/install/homebrew.rd +0 -15
- data/doc/ja/news.rd +67 -0
- data/doc/ja/usage/rabbit.rd +1 -1
- data/lib/rabbit/action.rb +1 -23
- data/lib/rabbit/canvas.rb +2 -10
- data/lib/rabbit/command/rabbit-slide.rb +1 -1
- data/lib/rabbit/command/rabbit.rb +6 -4
- data/lib/rabbit/cursor-manager.rb +5 -5
- data/lib/rabbit/element/text.rb +66 -0
- data/lib/rabbit/error.rb +9 -1
- data/lib/rabbit/frame.rb +22 -2
- data/lib/rabbit/front.rb +1 -1
- data/lib/rabbit/gesture/handler.rb +5 -8
- data/lib/rabbit/gtk.rb +44 -2
- data/lib/rabbit/info-window.rb +16 -2
- data/lib/rabbit/menu.rb +1 -3
- data/lib/rabbit/parser/ext/charty.rb +9 -0
- data/lib/rabbit/parser/markdown/converter.rb +3 -3
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +0 -12
- data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +23 -0
- data/lib/rabbit/parser/wiki/output.rb +0 -6
- data/lib/rabbit/renderer/base.rb +1 -9
- data/lib/rabbit/renderer/display/base.rb +7 -5
- data/lib/rabbit/renderer/display/button-handler.rb +25 -10
- data/lib/rabbit/renderer/display/cursor.rb +18 -2
- data/lib/rabbit/renderer/display/drawing-area-base.rb +23 -7
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +35 -20
- data/lib/rabbit/renderer/display/gesture.rb +17 -1
- data/lib/rabbit/renderer/engine/cairo.rb +27 -13
- data/lib/rabbit/renderer/gl.rb +0 -81
- data/lib/rabbit/renderer/kernel.rb +0 -50
- data/lib/rabbit/renderer/offscreen.rb +1 -6
- data/lib/rabbit/renderer/printer.rb +2 -8
- data/lib/rabbit/renderer/screen.rb +6 -7
- data/lib/rabbit/source/argf.rb +17 -1
- data/lib/rabbit/source/base.rb +35 -10
- data/lib/rabbit/source/file.rb +17 -1
- data/lib/rabbit/source/uri.rb +17 -1
- data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +2 -2
- data/lib/rabbit/theme/default-comment/default-comment.rb +1 -5
- data/lib/rabbit/theme/image-slide-number/property.rb +1 -1
- data/lib/rabbit/theme/title-background-image/title-background-image.rb +2 -2
- data/lib/rabbit/trackball.rb +21 -21
- data/lib/rabbit/utils.rb +5 -45
- data/lib/rabbit/version.rb +1 -1
- data/lib/rabbit/video-window.rb +6 -2
- data/po/en/rabbit.edit.po +24 -38
- data/po/en/rabbit.po +9 -21
- data/po/fr/rabbit.edit.po +24 -38
- data/po/fr/rabbit.po +9 -21
- data/po/ja/rabbit.edit.po +56 -58
- data/po/ja/rabbit.po +12 -21
- data/rabbit.gemspec +11 -14
- data/sample/gl-sample.rd +2 -4
- data/sample/rabbit/theme/gl-sample/gl-sample.rb +1 -1
- data/sample/rabbit-en.hiki +1 -1
- data/sample/rabbit-en.md +1 -1
- data/sample/rabbit-en.rd +1 -13
- data/sample/rabbit.rd +1 -13
- data/test/helper.rb +1 -2
- data/test/parser/test-markdown.rb +4 -3
- data/test/parser/test-rd.rb +3 -3
- data/test/parser/test-wiki.rb +2 -2
- data/test/test-readme-parser.rb +15 -12
- data/test/test-source.rb +2 -2
- metadata +35 -122
- data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/en/blue-circle.png +0 -0
- data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/en/clear-blue.png +0 -0
- data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/en/cozmixng.png +0 -0
- data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/en/dark-gradation.png +0 -0
- data/doc/images/screenshots/en/day-white-raw.png +0 -0
- data/doc/images/screenshots/en/day-white.png +0 -0
- data/doc/images/screenshots/en/debian-raw.png +0 -0
- data/doc/images/screenshots/en/debian.png +0 -0
- data/doc/images/screenshots/en/green-circle-raw.png +0 -0
- data/doc/images/screenshots/en/green-circle.png +0 -0
- data/doc/images/screenshots/en/night-black-raw.png +0 -0
- data/doc/images/screenshots/en/night-black.png +0 -0
- data/doc/images/screenshots/en/rabbit-raw.png +0 -0
- data/doc/images/screenshots/en/rabbit.png +0 -0
- data/doc/images/screenshots/en/ranguba-raw.png +0 -0
- data/doc/images/screenshots/en/ranguba.png +0 -0
- data/doc/images/screenshots/en/red-frame-raw.png +0 -0
- data/doc/images/screenshots/en/red-frame.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011.png +0 -0
- data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/blue-circle.png +0 -0
- data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/ja/clear-blue.png +0 -0
- data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/ja/cozmixng.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation.png +0 -0
- data/doc/images/screenshots/ja/day-white-raw.png +0 -0
- data/doc/images/screenshots/ja/day-white.png +0 -0
- data/doc/images/screenshots/ja/debian-raw.png +0 -0
- data/doc/images/screenshots/ja/debian.png +0 -0
- data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/green-circle.png +0 -0
- data/doc/images/screenshots/ja/night-black-raw.png +0 -0
- data/doc/images/screenshots/ja/night-black.png +0 -0
- data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
- data/doc/images/screenshots/ja/rabbit.png +0 -0
- data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
- data/doc/images/screenshots/ja/ranguba.png +0 -0
- data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
- data/doc/images/screenshots/ja/red-frame.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011.png +0 -0
- data/lib/rabbit/parser/ext/emacs.rb +0 -121
- data/lib/rabbit/renderer/display/clutter-embed.rb +0 -606
- data/lib/rabbit/theme/clutter-comment/clutter-comment.rb +0 -76
- data/lib/rabbit/theme/clutter-comment/property.rb +0 -3
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,121 +0,0 @@
|
|
1
|
-
require 'rabbit/utils'
|
2
|
-
require 'rabbit/parser/ext/escape'
|
3
|
-
|
4
|
-
module Rabbit
|
5
|
-
module Parser
|
6
|
-
module Ext
|
7
|
-
module Emacs
|
8
|
-
include Element
|
9
|
-
include GetText
|
10
|
-
|
11
|
-
module_function
|
12
|
-
def highlight(text, logger, mode_line=nil)
|
13
|
-
begin
|
14
|
-
require 'nokogiri'
|
15
|
-
rescue
|
16
|
-
logger.warning("Syntax highlight by Emacs requires nokogiri.")
|
17
|
-
return nil
|
18
|
-
end
|
19
|
-
|
20
|
-
src_file = Tempfile.new("rabbit-emacs")
|
21
|
-
src_file.open
|
22
|
-
src_file.print("#{mode_line}\n") if mode_line
|
23
|
-
src_file.print(text)
|
24
|
-
src_file.close
|
25
|
-
html_file = Tempfile.new("rabbit-emacs-html")
|
26
|
-
args = [
|
27
|
-
"--batch",
|
28
|
-
"--eval",
|
29
|
-
"(htmlize-file \"#{src_file.path}\" \"#{html_file.path}\")",
|
30
|
-
]
|
31
|
-
if SystemRunner.run("emacs", *args)
|
32
|
-
html_file.open
|
33
|
-
html_to_rabbit(html_file.read, mode_line, logger)
|
34
|
-
else
|
35
|
-
nil
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def html_to_rabbit(html, mode_line, logger)
|
40
|
-
html = remove_newline_around_pre(html)
|
41
|
-
html = remove_mode_line(html, mode_line)
|
42
|
-
node = Nokogiri::HTML(html)
|
43
|
-
pre = find_element(node, "pre")
|
44
|
-
address = find_element(node, "address")
|
45
|
-
element = node_to_rabbit(pre, logger)
|
46
|
-
if element
|
47
|
-
logger.info(address.text) if address
|
48
|
-
element
|
49
|
-
else
|
50
|
-
nil
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def remove_newline_around_pre(html)
|
55
|
-
html = html.gsub(/<pre([^>]*)>\n/i, '<pre\1>')
|
56
|
-
html.gsub(/\n<\/pre>/i, '</pre>')
|
57
|
-
end
|
58
|
-
|
59
|
-
def remove_mode_line(html, mode_line)
|
60
|
-
return html if mode_line.nil?
|
61
|
-
html.gsub(/<pre([^>]*)>([^\n]+\n)/i) do
|
62
|
-
attributes = $1
|
63
|
-
mode_line_html = $2
|
64
|
-
mode_line_text = mode_line_html.gsub(/<.+?>/, '')
|
65
|
-
if mode_line_text.strip == mode_line.strip
|
66
|
-
"<pre#{attributes}>"
|
67
|
-
else
|
68
|
-
"<pre#{attributes}>#{mode_line_html}"
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def find_element(node, name)
|
74
|
-
node.css(name)[0]
|
75
|
-
end
|
76
|
-
|
77
|
-
def node_to_rabbit(node, logger)
|
78
|
-
case node.name
|
79
|
-
when "pre"
|
80
|
-
element = SyntaxHighlightingBlock.new
|
81
|
-
node.children.each do |child|
|
82
|
-
if child.text?
|
83
|
-
element << text_to_rabbit(child.text, "plain")
|
84
|
-
else
|
85
|
-
child_element = node_to_rabbit(child, logger)
|
86
|
-
element << child_element unless child_element.nil?
|
87
|
-
end
|
88
|
-
end
|
89
|
-
element
|
90
|
-
when "span"
|
91
|
-
p [node.text, node["class"]] if Utils.syntax_highlighting_debug?
|
92
|
-
text_to_rabbit(node.text, normalize_class_name(node["class"]))
|
93
|
-
else
|
94
|
-
format = _("emacs: unsupported element name: %s")
|
95
|
-
logger.warn(format % element.name)
|
96
|
-
nil
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def normalize_class_name(name)
|
101
|
-
case name
|
102
|
-
when "comment-delimiter"
|
103
|
-
"comment"
|
104
|
-
when "keyword"
|
105
|
-
"reserved"
|
106
|
-
when "variable-name"
|
107
|
-
"variable"
|
108
|
-
else
|
109
|
-
name
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
def text_to_rabbit(text, type)
|
114
|
-
escaped_text = Escape.escape_meta_character(text)
|
115
|
-
text_element = SyntaxHighlightingText.new(Text.new(escaped_text))
|
116
|
-
CustomTag.new("syntax-#{type}", text_element)
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|