vebdew 0.0.3 → 0.1.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.
data/Gemfile CHANGED
@@ -1,9 +1,10 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "erubis"
4
+ gem "htmlentities"
4
5
 
5
6
  group :development do
6
- gem "shoulda", ">= 0"
7
+ gem "bacon", "~> 1.1.0"
7
8
  gem "rdoc", "~> 3.12"
8
9
  gem "bundler", "~> 1.0.0"
9
10
  gem "jeweler", "~> 1.8.3"
data/Gemfile.lock CHANGED
@@ -1,8 +1,10 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ bacon (1.1.0)
4
5
  erubis (2.7.0)
5
6
  git (1.2.5)
7
+ htmlentities (4.3.1)
6
8
  jeweler (1.8.3)
7
9
  bundler (~> 1.0)
8
10
  git (>= 1.2.5)
@@ -12,18 +14,14 @@ GEM
12
14
  rake (0.9.2.2)
13
15
  rdoc (3.12)
14
16
  json (~> 1.4)
15
- shoulda (3.0.1)
16
- shoulda-context (~> 1.0.0)
17
- shoulda-matchers (~> 1.0.0)
18
- shoulda-context (1.0.0)
19
- shoulda-matchers (1.0.0)
20
17
 
21
18
  PLATFORMS
22
19
  ruby
23
20
 
24
21
  DEPENDENCIES
22
+ bacon (~> 1.1.0)
25
23
  bundler (~> 1.0.0)
26
24
  erubis
25
+ htmlentities
27
26
  jeweler (~> 1.8.3)
28
27
  rdoc (~> 3.12)
29
- shoulda
data/README.md CHANGED
@@ -1,11 +1,12 @@
1
1
  # vebdew
2
2
 
3
3
  A simple HTML5 slide generator.
4
- Converts vew files into HTML5 slides.
4
+ Converts vew files (markdown like syntax) into HTML5 slides.
5
5
 
6
6
  ## Library used
7
- - reveal.js
8
- - erubis
7
+ - reveal.js: for the slides animation
8
+ - erubis: for the template
9
+ - htmlentities: for escaping the HTML
9
10
 
10
11
  ## Install
11
12
  ```
@@ -20,17 +21,21 @@ Run `new` to create a new project, `generate` to convert all vew files in the pr
20
21
  Usage: vebdew COMMAND
21
22
 
22
23
  Directory:
23
- - /vew \# Vew file
24
- - template.erb
25
- - /css \# CSS styles
26
- - /js \# Javascript files
27
- - *.html \# Compiled html slides
24
+ - /vew # Vew file, all the *.vew files will be compiled to html
25
+ # when running the `generate` command
26
+ - template.erb # ERB template for the HTML
27
+ # @header meta tags and stylesheets
28
+ # @body for the contents
29
+ # @footer for the javascripts
30
+ - /css # CSS styles
31
+ - /js # Javascript files
32
+ - *.html # Compiled html slides
28
33
 
29
34
  Commands:
30
- new \# Create a new slide project
31
- generate \# Generate slides for current directory (shortcut: g)
32
- compile \# Compiles single file into HTML5 slides (shortcut: c)
33
- \# [VEW FILE] [ERB TEMPLATE] [HTML SLIDE]
35
+ new # Create a new slide project
36
+ generate # Generate slides for current directory (shortcut: g)
37
+ compile # Compiles single file into HTML5 slides (shortcut: c)
38
+ # [VEW FILE] [ERB TEMPLATE] [HTML SLIDE]
34
39
  ```
35
40
 
36
41
  ## Vew file syntax
@@ -112,7 +117,7 @@ generating
112
117
  Another example is:
113
118
 
114
119
  ```
115
- `<input>` tag has an attribute called `type`{:.attr[title="checkbox|radio|submit"]}
120
+ `<input>` tag has an attribute called {:.attr[title=checkbox|radio|submit]}`type`
116
121
  ```
117
122
 
118
123
  emits
data/Rakefile CHANGED
@@ -25,11 +25,9 @@ Jeweler::Tasks.new do |gem|
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
27
27
 
28
- require 'rake/testtask'
29
- Rake::TestTask.new(:test) do |test|
30
- test.libs << 'lib' << 'test'
31
- test.pattern = 'test/**/test_*.rb'
32
- test.verbose = true
28
+ desc 'Run test'
29
+ task :test do
30
+ sh "bundle exec bacon -a"
33
31
  end
34
32
 
35
33
  task :default => :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.1.0
@@ -0,0 +1 @@
1
+ run Rack::Directory.new(".")
data/lib/vebdew/parser.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'htmlentities'
2
+
1
3
  module Vebdew
2
4
  class Parser
3
5
  attr_reader :header, :body, :footer
@@ -15,36 +17,71 @@ module Vebdew
15
17
  end
16
18
 
17
19
  protected
20
+ CMD = /^:(\w+) (.*)$/
21
+ SLIDE = /^\!SLIDE$/
22
+ ENDSLIDE = /^\!ENDSLIDE$/
23
+ STACK = /^\!STACK$/
24
+ ENDSTACK = /^\!ENDSTACK$/
25
+ SELECTOR = /^\{:([^\}]+)\}$/
26
+ CURLY_BAR = /^~{2,}$/
27
+ GRAVE_BAR = /^`{2,}$/
28
+ SINGLE_BAR = /^-{2,}$/
29
+ DOUBLE_BAR = /^={2,}$/
30
+ SHARP = /^(#+) (.+)$/
31
+ UL = /^\* (.+)$/
32
+
18
33
  def parse
19
34
  for raw_line in @lines
20
35
  line = raw_line.lstrip
21
36
 
22
37
  # special case for no enders
23
- close_flag :ul if @flag[:ul] and !line.match(/^\* (.+)/)
38
+ close_flag :ul if @flag[:ul] and !line.match(UL)
39
+
40
+ # special case for blocks
41
+ block_flag = false
42
+ [[:sample, CURLY_BAR], [:code, GRAVE_BAR]].each do |rule, mth|
43
+ if @flag[rule] and !line.match(mth)
44
+ @buffer << raw_line
45
+ block_flag = true
46
+ break
47
+ end
48
+ end
49
+ next if block_flag
24
50
 
25
51
  case line
26
- when /^:(\w+) (.*)$/
52
+ when CMD
27
53
  command $1, $2
28
- when /^\!SLIDE/
54
+ when SLIDE
29
55
  close_buffer
30
56
  close_flag :slide
31
57
  start_flag :slide
32
- when /^\!ENDSLIDE/
58
+ when ENDSLIDE
33
59
  close_buffer
34
60
  close_flag :slide
35
- when /^\!STACK/
61
+ when STACK
36
62
  close_buffer
37
63
  close_flag :slide
38
64
  close_flag :stack
39
65
  start_flag :stack
40
- when /^\!ENDSTACK/
66
+ when ENDSTACK
41
67
  close_buffer
42
68
  close_flag :slide
43
69
  close_flag :stack
44
- when /\{:([^\}]+)\}/
70
+ when SELECTOR
71
+ close_buffer
45
72
  selector $1
46
- when /^~+/
73
+ when CURLY_BAR
74
+ if @flag[:sample]
75
+ @body << @buffer.join
76
+ @buffer.clear
77
+ close_flag :sample
78
+ else
79
+ close_buffer
80
+ start_flag :sample
81
+ end
82
+ when GRAVE_BAR
47
83
  if @flag[:code]
84
+ format_indent
48
85
  @body << @buffer.join
49
86
  @buffer.clear
50
87
  close_flag :code
@@ -52,24 +89,24 @@ module Vebdew
52
89
  close_buffer
53
90
  start_flag :code
54
91
  end
55
- when /^(#+) (.*)/
92
+ when SHARP
56
93
  level = $1.size
57
- @body << "<h#{level}#{append}>#{$2}</h#{level}>"
58
- when /^-+/
94
+ @body << "<h#{level}#{append}>#{format_content $2}</h#{level}>"
95
+ when SINGLE_BAR
59
96
  tagged = @buffer.pop
60
97
  close_buffer
61
98
  if tagged and !tagged.empty?
62
- @body << "<h2#{append}>#{tagged.strip}</h2>"
99
+ @body << "<h2#{append}>#{format_content tagged.strip}</h2>"
63
100
  else
64
101
  @body << "<hr#{append}>"
65
102
  end
66
- when /^=+/
103
+ when DOUBLE_BAR
67
104
  tagged = @buffer.pop
68
105
  close_buffer
69
106
  if tagged and !tagged.empty?
70
- @body << "<h1#{append}>#{tagged.strip}</h1>"
107
+ @body << "<h1#{append}>#{format_content tagged.strip}</h1>"
71
108
  end
72
- when /^\* (.+)/
109
+ when UL
73
110
  start_flag :ul unless @flag[:ul]
74
111
  @body << "<li#{append}>#{format_content($1)}</li>"
75
112
  else
@@ -79,6 +116,7 @@ module Vebdew
79
116
  close_buffer
80
117
  close_flag :slide
81
118
  close_flag :stack
119
+ close_flag :ul
82
120
  end
83
121
 
84
122
  def command type, body
@@ -111,21 +149,23 @@ module Vebdew
111
149
  @buffer.clear
112
150
  end
113
151
 
114
- START_STR = { :slide => "<section>",
115
- :stack => "<section>",
116
- :code => "<script type='text/x-sample'>",
117
- :ul => "<ul>" }
152
+ START_STR = { :slide => "<section$>",
153
+ :stack => "<section$>",
154
+ :sample => '<script type="text/x-sample"$>',
155
+ :code => '<pre$><code><!--',
156
+ :ul => "<ul$>" }
118
157
 
119
158
  def start_flag flag
120
- str = START_STR[flag]
121
- str[-1] = "#{append}>" unless @attrs.empty?
159
+ str = START_STR[flag].dup
160
+ str['$'] = append
122
161
  @body << str
123
162
  @flag[flag] = true
124
163
  end
125
164
 
126
165
  CLOSE_STR = { :slide => "</section>",
127
166
  :stack => "</section>",
128
- :code => "</script>",
167
+ :sample => "</script>",
168
+ :code => '--></code></pre>',
129
169
  :ul => "</ul>" }
130
170
 
131
171
  def close_flag flag
@@ -133,16 +173,20 @@ module Vebdew
133
173
  @flag[flag] = false
134
174
  end
135
175
 
176
+ SEL_CLASS = /\.([^\.\[#]+)/
177
+ SEL_ID = /#([^\.\[#]+)/
178
+ SEL_ATTR = /\[([^\.\]=#]+)=([^\.\]]+)\]/
179
+
136
180
  def selector str
137
- klass = str.scan(/\.([^\.\[#]+)/).flatten
138
- id = str.scan(/#([^\.\[#])+/).flatten
139
- attrs = str.scan(/\[([^\.\]=#]+)=([^\.\]]+)\]/)
181
+ klass = str.scan(SEL_CLASS).flatten
182
+ id = str.scan(SEL_ID).flatten
183
+ attrs = str.scan(SEL_ATTR)
140
184
 
141
185
  @attrs = ""
142
- @attrs += " class='#{klass.join(' ')}'" unless klass.empty?
143
- @attrs += " id='#{id.join(' ')}'" unless id.empty?
186
+ @attrs += %Q{ class="#{klass.join(' ')}"} unless klass.empty?
187
+ @attrs += %Q{ id="#{id.join(' ')}"} unless id.empty?
144
188
  attrs.each do |a|
145
- @attrs += " #{a[0]}='#{a[1]}'"
189
+ @attrs += %Q{ #{a[0]}="#{a[1]}"}
146
190
  end
147
191
  end
148
192
 
@@ -152,22 +196,50 @@ module Vebdew
152
196
  str
153
197
  end
154
198
 
199
+ ESCAPER = HTMLEntities.new
200
+
155
201
  def escape_html str
156
- str.gsub(/>/, "&gt;").gsub(/</, "&lt;")
202
+ ESCAPER.encode str
203
+ end
204
+
205
+ def format_indent
206
+ indent = @buffer.map{ |l| l =~ /[^\s]/ }.reject{ |l| l == 0 }.min
207
+ @buffer.map! { |l| escape_html(l.gsub(/^\s{#{indent}}/, '')) }
208
+ @buffer[0] = "-->" + @buffer[0]
209
+ @buffer[-1] += "<!--"
157
210
  end
158
211
 
159
212
  def format_buffer
160
213
  @buffer.map! do |buf|
161
- "<p#{append}>#{format_content(buf)}</p>"
214
+ "<p#{append}>#{format_content(buf)}</p>" unless buf.empty?
162
215
  end
163
216
  end
164
217
 
218
+ INL_SELECTOR = /\{:([^\}]+)\}/
219
+ INL_CODE = /`(([^\\`]|\\.)*)`/
220
+ INL_IMG_ALT = /\!\[([^\]]+)\]\(([^\)]+)\)/
221
+ INL_IMG = /\!\[([^\]]+)\]/
222
+ INL_A = /\[([^\]]+)\]\(([^\)]+)\)/
223
+
165
224
  def format_content str
166
225
  str.strip!
167
- str.gsub!(/`(([^\\`]|\\.)*)`/) {%Q{<code>#{escape_html($1)}</code>}}
168
- str.gsub! /\!\[([^\]]+)\]\(([^\)]+)\)/, %q{<img src='\1' alt='\2'>}
169
- str.gsub! /\!\[([^\]]+)\]/, %q{<img src='\1'>}
170
- str.gsub! /\[([^\]]+)\]\(([^\)]+)\)/, %q{<a href='\1'>\2</a>}
226
+ loop do
227
+ case str
228
+ when INL_SELECTOR
229
+ selector $1
230
+ str.sub!(INL_SELECTOR, "")
231
+ when INL_CODE
232
+ str.sub!(INL_CODE) {%Q{<code#{append}>#{escape_html($1)}</code>}}
233
+ when INL_IMG_ALT
234
+ str.sub!(INL_IMG_ALT) {%Q{<img src="#{$1}" alt="#{$2}"#{append}>}}
235
+ when INL_IMG
236
+ str.sub!(INL_IMG) {%Q{<img src="#{$1}"#{append}>}}
237
+ when INL_A
238
+ str.sub!(INL_A) {%Q{<a href="#{$1}"#{append}>#{$2}</a>}}
239
+ else
240
+ break
241
+ end
242
+ end
171
243
  str
172
244
  end
173
245
  end
@@ -0,0 +1,87 @@
1
+ require 'vebdew'
2
+ require 'bacon'
3
+
4
+ describe 'Parser' do
5
+ Q_AND_A = [[["!SLIDE\n", "a\n", "!ENDSLIDE\n"],
6
+ ["<section>","<p>a</p>","</section>"]],
7
+ [["!STACK\n", "!SLIDE\n", "!ENDSTACK\n"],
8
+ ["<section>", "<section>", "</section>", "</section>"]],
9
+ [["~~~", " <tag>AS-IS</tag>", "~~~"],
10
+ ["<script type=\"text/x-sample\">", " <tag>AS-IS</tag>", "</script>"]],
11
+ [["```\n", " if(a)\n", "# unindented comment\n", " b\n", " <tag>\n", " end\n", "```\n"],
12
+ ["<pre><code><!--", "-->if(a)\n# unindented comment\n b\n &lt;tag&gt;\nend\n<!--", "--></code></pre>"]],
13
+ [["---"],
14
+ ["<hr>"]],
15
+ [["abc", "---"],
16
+ ["<h2>abc</h2>"]],
17
+ [["abc", "==="],
18
+ ["<h1>abc</h1>"]],
19
+ [["### qqq"],
20
+ ["<h3>qqq</h3>"]],
21
+ [["* qqq", "* www"],
22
+ ["<ul>", "<li>qqq</li>", "<li>www</li>", "</ul>"]],
23
+ [["![a.jpg](haha)"],
24
+ ['<p><img src="a.jpg" alt="haha"></p>']],
25
+ [["![b.jpg]"],
26
+ ['<p><img src="b.jpg"></p>']],
27
+ [["[google.com](you)"],
28
+ ['<p><a href="google.com">you</a></p>']],
29
+
30
+ # attributes
31
+ [["{:.pre}`aloha`"],
32
+ ['<p><code class="pre">aloha</code></p>']],
33
+ [["{:#def.abc[data=you]}", "papa"],
34
+ ['<p class="abc" id="def" data="you">papa</p>']],
35
+ [["{:#id.test[data=you]}", "~~~", "lalala", "~~~"],
36
+ ['<script type="text/x-sample" class="test" id="id" data="you">',
37
+ 'lalala','</script>']],
38
+ [["{:#id.test[data=you]}", "abc", "==="],
39
+ ['<h1 class="test" id="id" data="you">abc</h1>']],
40
+ [["{:#id.test[data=you]}", "abc", "---"],
41
+ ['<h2 class="test" id="id" data="you">abc</h2>']],
42
+ [["{:.demo}", "lala"],
43
+ ['<p class="demo">lala</p>']],
44
+ [["{:.class#id}","!SLIDE", "a\n", "!ENDSLIDE\n"],
45
+ ["<section class=\"class\" id=\"id\">","<p>a</p>","</section>"]],
46
+ [["", "{:.def}", "abc"],
47
+ [nil, '<p class="def">abc</p>']],
48
+ [["", "{:.sld}", "!SLIDE"],
49
+ [nil, '<section class="sld">', '</section>']],
50
+ [["abc", "{:.la}", "oop"],
51
+ ["<p>abc</p>", '<p class="la">oop</p>']],
52
+ [["```", '# cmt', "```"],
53
+ ["<pre><code><!--", '--># cmt<!--', "--></code></pre>"]],
54
+
55
+ # checks whether buffer clears
56
+ [[
57
+ '!SLIDE',
58
+ '{:.demo}',
59
+ '~~~',
60
+ ' should_have_demo_class',
61
+ '~~~',
62
+ '!SLIDE',
63
+ '~~~',
64
+ ' should_not_have_demo_class',
65
+ '~~~'
66
+ ],
67
+ [
68
+ '<section>',
69
+ '<script type="text/x-sample" class="demo">',
70
+ ' should_have_demo_class',
71
+ '</script>',
72
+ '</section>',
73
+ '<section>',
74
+ '<script type="text/x-sample">',
75
+ ' should_not_have_demo_class',
76
+ '</script>',
77
+ '</section>'
78
+ ]]
79
+ ]
80
+
81
+ for q, a in Q_AND_A
82
+ it "should parse #{q}" do
83
+ parser = Vebdew::Parser.new(q)
84
+ parser.body.should == a
85
+ end
86
+ end
87
+ end
data/vebdew.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "vebdew"
8
- s.version = "0.0.3"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Liu"]
12
- s.date = "2012-03-10"
12
+ s.date = "2012-03-14"
13
13
  s.description = "Generate HTML5 slides"
14
14
  s.email = "andrewliu33@gmail.com"
15
15
  s.executables = ["vebdew"]
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "bin/vebdew",
29
+ "lib/template/config.ru",
29
30
  "lib/template/css/images/ui-bg_flat_0_aaaaaa_40x100.png",
30
31
  "lib/template/css/images/ui-bg_glass_95_fef1ec_1x400.png",
31
32
  "lib/template/css/images/ui-bg_gloss-wave_16_121212_500x100.png",
@@ -60,8 +61,7 @@ Gem::Specification.new do |s|
60
61
  "lib/vebdew/formatter.rb",
61
62
  "lib/vebdew/parser.rb",
62
63
  "lib/vebdew/runner.rb",
63
- "test/helper.rb",
64
- "test/test_vebdew.rb",
64
+ "test/test_parser.rb",
65
65
  "vebdew.gemspec"
66
66
  ]
67
67
  s.homepage = "http://github.com/eggegg/vebdew"
@@ -75,20 +75,23 @@ Gem::Specification.new do |s|
75
75
 
76
76
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
77
77
  s.add_runtime_dependency(%q<erubis>, [">= 0"])
78
- s.add_development_dependency(%q<shoulda>, [">= 0"])
78
+ s.add_runtime_dependency(%q<htmlentities>, [">= 0"])
79
+ s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
79
80
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
80
81
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
81
82
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
82
83
  else
83
84
  s.add_dependency(%q<erubis>, [">= 0"])
84
- s.add_dependency(%q<shoulda>, [">= 0"])
85
+ s.add_dependency(%q<htmlentities>, [">= 0"])
86
+ s.add_dependency(%q<bacon>, ["~> 1.1.0"])
85
87
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
86
88
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
87
89
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
88
90
  end
89
91
  else
90
92
  s.add_dependency(%q<erubis>, [">= 0"])
91
- s.add_dependency(%q<shoulda>, [">= 0"])
93
+ s.add_dependency(%q<htmlentities>, [">= 0"])
94
+ s.add_dependency(%q<bacon>, ["~> 1.1.0"])
92
95
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
93
96
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
94
97
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vebdew
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-10 00:00:00.000000000Z
12
+ date: 2012-03-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: erubis
16
- requirement: &2154113200 !ruby/object:Gem::Requirement
16
+ requirement: &2158521880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,32 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2154113200
24
+ version_requirements: *2158521880
25
25
  - !ruby/object:Gem::Dependency
26
- name: shoulda
27
- requirement: &2154112480 !ruby/object:Gem::Requirement
26
+ name: htmlentities
27
+ requirement: &2158515640 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2158515640
36
+ - !ruby/object:Gem::Dependency
37
+ name: bacon
38
+ requirement: &2158514720 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.1.0
33
44
  type: :development
34
45
  prerelease: false
35
- version_requirements: *2154112480
46
+ version_requirements: *2158514720
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: rdoc
38
- requirement: &2154111680 !ruby/object:Gem::Requirement
49
+ requirement: &2158512780 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ~>
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: '3.12'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *2154111680
57
+ version_requirements: *2158512780
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: bundler
49
- requirement: &2154110680 !ruby/object:Gem::Requirement
60
+ requirement: &2158511560 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 1.0.0
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *2154110680
68
+ version_requirements: *2158511560
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: jeweler
60
- requirement: &2154109620 !ruby/object:Gem::Requirement
71
+ requirement: &2158509380 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ~>
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: 1.8.3
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *2154109620
79
+ version_requirements: *2158509380
69
80
  description: Generate HTML5 slides
70
81
  email: andrewliu33@gmail.com
71
82
  executables:
@@ -83,6 +94,7 @@ files:
83
94
  - Rakefile
84
95
  - VERSION
85
96
  - bin/vebdew
97
+ - lib/template/config.ru
86
98
  - lib/template/css/images/ui-bg_flat_0_aaaaaa_40x100.png
87
99
  - lib/template/css/images/ui-bg_glass_95_fef1ec_1x400.png
88
100
  - lib/template/css/images/ui-bg_gloss-wave_16_121212_500x100.png
@@ -117,8 +129,7 @@ files:
117
129
  - lib/vebdew/formatter.rb
118
130
  - lib/vebdew/parser.rb
119
131
  - lib/vebdew/runner.rb
120
- - test/helper.rb
121
- - test/test_vebdew.rb
132
+ - test/test_parser.rb
122
133
  - vebdew.gemspec
123
134
  homepage: http://github.com/eggegg/vebdew
124
135
  licenses:
@@ -135,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
146
  version: '0'
136
147
  segments:
137
148
  - 0
138
- hash: 2574970994430618005
149
+ hash: -4101904603546961614
139
150
  required_rubygems_version: !ruby/object:Gem::Requirement
140
151
  none: false
141
152
  requirements:
data/test/helper.rb DELETED
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'vebdew'
16
-
17
- class Test::Unit::TestCase
18
- end
data/test/test_vebdew.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestVebdew < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end