deckrb 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +19 -14
- data/lib/deck/slide.rb +4 -0
- data/lib/deck/version.rb +1 -1
- data/spec/slide_spec.rb +22 -0
- metadata +4 -4
data/README.md
CHANGED
@@ -26,6 +26,7 @@ Put this in a file named `meals.md`:
|
|
26
26
|
|
27
27
|
# Dinner
|
28
28
|
> "To eat is to live." -Anon.
|
29
|
+
<!VIDEO u1zgFlCw8Aw>
|
29
30
|
|
30
31
|
then run this:
|
31
32
|
|
@@ -36,7 +37,7 @@ and you'll get a web server running on `http://localhost:4333` serving up a slid
|
|
36
37
|
* One titled "Breakfast" with three bullet points
|
37
38
|
* One titled "Lunch" with three H2 headers ("Lunch", "Ham Sandwich", and "Caesar Salad")
|
38
39
|
* One with no headers, just a picture (stored in the same directory as `meals.md`)
|
39
|
-
* One titled "Dinner" with a blockquote
|
40
|
+
* One titled "Dinner" with a blockquote and an embedded youtube video player
|
40
41
|
|
41
42
|
## Details
|
42
43
|
|
@@ -81,10 +82,18 @@ and you'll get a web server running on `http://localhost:4333` serving up a slid
|
|
81
82
|
--version, -v: Print version and exit
|
82
83
|
--help, -h: Show this message
|
83
84
|
|
84
|
-
## Known Issues
|
85
|
+
## Known Issues (Bugs and Limitations)
|
85
86
|
|
86
|
-
* If you're running Webrick, you may not be able to kill the server with Ctrl-C. This is a bug in recent versions of Webrick.
|
87
|
+
* If you're running Webrick, you may not be able to kill the server with Ctrl-C. This is apparently due to a bug in recent versions of Webrick.
|
87
88
|
* Workaround: `gem install thin` -- if thin is installed, deck will use it instead of webrick
|
89
|
+
* auxiliary files (e.g. images) are interleaved in URL path space, so overlapping file names might not resolve to the right file
|
90
|
+
* todo: rewrite internal links to files and serve them relative to current dir, not slide dir
|
91
|
+
* H1s (which split slides) are converted to H2s for compatibility with deck.js's CSS themes
|
92
|
+
* unless they're the only item on the slide, in which case they remain H1s
|
93
|
+
* we use RedCarpet to process markdown, which doesn't work exactly the same as RDiscount... for example:
|
94
|
+
* indented code blocks under a bullet point may need to be indented more
|
95
|
+
* code blocks must be separated from the previous text by a newline
|
96
|
+
* slide scaling isn't perfect; sometimes either resizing or reloading will improve the layout
|
88
97
|
|
89
98
|
Report bugs on <http://github.com/alexch/deck.rb/issues>
|
90
99
|
|
@@ -100,17 +109,6 @@ Report bugs on <http://github.com/alexch/deck.rb/issues>
|
|
100
109
|
* [Showoff](https://github.com/schacon/showoff) by Scott Chacon
|
101
110
|
* [Keydown](https://github.com/infews/keydown) by Davis Frank
|
102
111
|
|
103
|
-
## Bugs and Limitations
|
104
|
-
|
105
|
-
* auxiliary files (e.g. images) are interleaved in URL path space, so overlapping file names might not resolve to the right file
|
106
|
-
* todo: rewrite internal links to files and serve them relative to current dir, not slide dir
|
107
|
-
* H1s (which split slides) are converted to H2s for compatibility with deck.js's CSS themes
|
108
|
-
* unless they're the only item on the slide, in which case they remain H1s
|
109
|
-
* we use RedCarpet to process markdown, which doesn't work exactly the same as RDiscount... for example:
|
110
|
-
* indented code blocks under a bullet point may need to be indented more
|
111
|
-
* code blocks must be separated from the previous text by a newline
|
112
|
-
* slide scaling isn't perfect; sometimes either resizing or reloading will improve the layout
|
113
|
-
|
114
112
|
## TODO
|
115
113
|
|
116
114
|
* fix title tag (base it off of presentation name or something)
|
@@ -153,6 +151,13 @@ Report bugs on <http://github.com/alexch/deck.rb/issues>
|
|
153
151
|
* nested sections
|
154
152
|
* disappear when clicked outside of, esc pressed, etc.
|
155
153
|
* close box
|
154
|
+
* requests from Christopher Gandrud <http://christophergandrud.blogspot.com/2012/05/aspirational-useful-deckrb-with.html>
|
155
|
+
* There really aren’t title slides.
|
156
|
+
* The slideshow opens as a locally hosted webserver, and the command to build a stand alone HTML presentation doesn’t seem to work that well (hence no example included with this post).
|
157
|
+
* It only allows you to use the Swiss template.
|
158
|
+
* I couldn’t figure out how to easily get MathJax support to display equations.
|
159
|
+
|
160
|
+
|
156
161
|
|
157
162
|
## TODO (community)
|
158
163
|
|
data/lib/deck/slide.rb
CHANGED
@@ -93,6 +93,10 @@ module Deck
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def <<(s)
|
96
|
+
if s.strip =~ /^\s*<?!VIDEO +([^\s>]*)>?$/
|
97
|
+
youtube_id = $1
|
98
|
+
s = %Q(<iframe class="video youtube" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/#{youtube_id}" frameborder="0"></iframe>\n)
|
99
|
+
end
|
96
100
|
@markdown_text << s
|
97
101
|
@markdown_text << "\n"
|
98
102
|
end
|
data/lib/deck/version.rb
CHANGED
data/spec/slide_spec.rb
CHANGED
@@ -299,6 +299,28 @@ foo
|
|
299
299
|
end
|
300
300
|
end
|
301
301
|
|
302
|
+
describe "!VIDEO" do
|
303
|
+
it "embeds a YouTube video" do
|
304
|
+
html = slide_from(<<-MARKDOWN).to_pretty
|
305
|
+
# foo
|
306
|
+
<!VIDEO xyzzy>
|
307
|
+
* bar
|
308
|
+
MARKDOWN
|
309
|
+
expected_html = <<-HTML
|
310
|
+
<section class="slide" id="foo">
|
311
|
+
<h2>foo</h2>
|
312
|
+
|
313
|
+
<iframe class="video youtube" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/xyzzy" frameborder="0"></iframe>
|
314
|
+
|
315
|
+
<ul>
|
316
|
+
<li>bar</li>
|
317
|
+
</ul>
|
318
|
+
</section>
|
319
|
+
HTML
|
320
|
+
assert { html == expected_html }
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
302
324
|
describe "==" do
|
303
325
|
it "a slide is equal to itself" do
|
304
326
|
s = slide_from("# hello")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deckrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: erector
|
@@ -249,7 +249,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
249
249
|
version: '0'
|
250
250
|
segments:
|
251
251
|
- 0
|
252
|
-
hash:
|
252
|
+
hash: 2930937714507842566
|
253
253
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
254
254
|
none: false
|
255
255
|
requirements:
|
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
258
|
version: '0'
|
259
259
|
segments:
|
260
260
|
- 0
|
261
|
-
hash:
|
261
|
+
hash: 2930937714507842566
|
262
262
|
requirements: []
|
263
263
|
rubyforge_project:
|
264
264
|
rubygems_version: 1.8.21
|