slideshow 0.4.1 → 0.4.2
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.
- data/lib/slideshow.rb +34 -10
- metadata +2 -2
data/lib/slideshow.rb
CHANGED
@@ -111,8 +111,13 @@ def Slideshow.create_slideshow( fn )
|
|
111
111
|
# run pre-filters (built-in macros)
|
112
112
|
# o replace {{{ w/ <pre class='code'>
|
113
113
|
# o replace }}} w/ </pre>
|
114
|
+
content.gsub!( "{{{{{{", "<pre class='code'>_S9BEGIN_" )
|
115
|
+
content.gsub!( "}}}}}}", "_S9END_</pre>" )
|
114
116
|
content.gsub!( "{{{", "<pre class='code'>" )
|
115
117
|
content.gsub!( "}}}", "</pre>" )
|
118
|
+
# restore escaped {{{}}} I'm sure there's a better way! Rubyize this! Anyone?
|
119
|
+
content.gsub!( "_S9BEGIN_", "{{{" )
|
120
|
+
content.gsub!( "_S9END_", "}}}" )
|
116
121
|
|
117
122
|
set_default_options()
|
118
123
|
params = Params.new( basename, $options )
|
@@ -130,7 +135,7 @@ def Slideshow.create_slideshow( fn )
|
|
130
135
|
|
131
136
|
if known_markdown_extnames.include?( extname )
|
132
137
|
content = Maruku.new( content, {:on_error => :raise} ).to_html
|
133
|
-
# content = BlueCloth.new( content ).to_html
|
138
|
+
# old code: content = BlueCloth.new( content ).to_html
|
134
139
|
else
|
135
140
|
content = RedCloth.new( content ).to_html
|
136
141
|
end
|
@@ -152,20 +157,39 @@ def Slideshow.create_slideshow( fn )
|
|
152
157
|
}
|
153
158
|
content2 << "\n\n</div>" if slide_counter > 0
|
154
159
|
|
160
|
+
## todo: run syntax highlighting before markup/textilize? lets us add textile to highlighted code?
|
161
|
+
## avoid undoing escaped entities?
|
162
|
+
|
155
163
|
include_code_stylesheet = false
|
156
164
|
# syntax highlight code
|
157
|
-
# todo: can the code handle escaped entities? e.g. >
|
165
|
+
# todo: can the code handle escaped entities? e.g. >
|
158
166
|
doc = Hpricot(content2)
|
159
167
|
doc.search("pre.code, pre > code").each do |e|
|
160
168
|
if e.inner_html =~ /^\s*#!(\w+)/
|
161
169
|
lang = $1.downcase
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
170
|
+
if e.inner_html =~ /^\{\{\{/ # {{{ assumes escape/literal #!lang
|
171
|
+
# do nothing; next
|
172
|
+
logger.debug " skipping syntax highlighting using lang=#{lang}; assumimg escaped literal"
|
173
|
+
else
|
174
|
+
logger.debug " syntax highlighting using lang=#{lang}"
|
175
|
+
if Uv.syntaxes.include?(lang)
|
176
|
+
code = e.inner_html.sub(/^\s*#!\w+/, '').strip
|
177
|
+
|
178
|
+
code.gsub!( "<", "<" )
|
179
|
+
code.gsub!( ">", ">" )
|
180
|
+
code.gsub!( "&", "&" )
|
181
|
+
# todo: missing any other entities? use CGI::unescapeHTML?
|
182
|
+
logger.debug "code=>#{code}<"
|
183
|
+
|
184
|
+
# get options using headers
|
185
|
+
code_line_numbers = get_boolean_option( 'code-line-numbers', true )
|
186
|
+
code_theme = get_option( 'code-theme', 'amy' )
|
187
|
+
code_highlighted = Uv.parse( code, "xhtml", lang, code_line_numbers, code_theme )
|
188
|
+
# old code: e.inner_html = code_highlighted
|
189
|
+
# todo: is it ok to replace the pre.code enclosing element to avoid duplicates?
|
190
|
+
e.swap( code_highlighted )
|
191
|
+
include_code_stylesheet = true
|
192
|
+
end
|
169
193
|
end
|
170
194
|
end
|
171
195
|
end
|
@@ -306,7 +330,7 @@ def Slideshow.main
|
|
306
330
|
|
307
331
|
opt.parse!
|
308
332
|
|
309
|
-
puts "Slide Show (S9) Version: 0.4.
|
333
|
+
puts "Slide Show (S9) Version: 0.4.2 on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
310
334
|
|
311
335
|
ARGV.each { |fn| Slideshow.create_slideshow( fn ) }
|
312
336
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slideshow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-05-
|
12
|
+
date: 2008-05-20 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|