nanoc3 3.2.0a4 → 3.2.0b1
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS.md +20 -2
- data/README.md +7 -3
- data/bin/nanoc3 +1 -3
- data/lib/nanoc3.rb +1 -13
- data/lib/nanoc3/base/compilation/filter.rb +21 -0
- data/lib/nanoc3/base/compilation/item_rep_recorder_proxy.rb +1 -3
- data/lib/nanoc3/base/compilation/outdatedness_checker.rb +1 -1
- data/lib/nanoc3/base/compilation/rule_memory_calculator.rb +0 -2
- data/lib/nanoc3/base/compilation/rules_collection.rb +37 -13
- data/lib/nanoc3/base/directed_graph.rb +3 -3
- data/lib/nanoc3/base/memoization.rb +6 -9
- data/lib/nanoc3/base/source_data/code_snippet.rb +2 -1
- data/lib/nanoc3/base/source_data/configuration.rb +7 -3
- data/lib/nanoc3/base/source_data/item.rb +52 -10
- data/lib/nanoc3/base/source_data/layout.rb +28 -1
- data/lib/nanoc3/base/source_data/site.rb +14 -3
- data/lib/nanoc3/cli.rb +98 -6
- data/lib/nanoc3/cli/{base.rb → command.rb} +117 -153
- data/lib/nanoc3/cli/commands/autocompile.rb +20 -48
- data/lib/nanoc3/cli/commands/compile.rb +32 -48
- data/lib/nanoc3/cli/commands/create_item.rb +21 -37
- data/lib/nanoc3/cli/commands/create_layout.rb +18 -36
- data/lib/nanoc3/cli/commands/create_site.rb +15 -34
- data/lib/nanoc3/cli/commands/debug.rb +17 -31
- data/lib/nanoc3/cli/commands/info.rb +14 -29
- data/lib/nanoc3/cli/commands/nanoc.rb +37 -0
- data/lib/nanoc3/cli/commands/update.rb +21 -44
- data/lib/nanoc3/cli/commands/view.rb +18 -44
- data/lib/nanoc3/cli/commands/watch.rb +16 -31
- data/lib/nanoc3/data_sources/filesystem.rb +25 -6
- data/lib/nanoc3/data_sources/filesystem_unified.rb +5 -5
- data/lib/nanoc3/extra/auto_compiler.rb +1 -0
- data/lib/nanoc3/extra/file_proxy.rb +0 -1
- data/lib/nanoc3/filters.rb +2 -0
- data/lib/nanoc3/filters/asciidoc.rb +16 -36
- data/lib/nanoc3/filters/bluecloth.rb +2 -2
- data/lib/nanoc3/filters/coderay.rb +2 -2
- data/lib/nanoc3/filters/colorize_syntax.rb +18 -5
- data/lib/nanoc3/filters/erb.rb +2 -2
- data/lib/nanoc3/filters/erubis.rb +2 -2
- data/lib/nanoc3/filters/haml.rb +2 -2
- data/lib/nanoc3/filters/kramdown.rb +2 -2
- data/lib/nanoc3/filters/less.rb +32 -1
- data/lib/nanoc3/filters/markaby.rb +2 -2
- data/lib/nanoc3/filters/maruku.rb +2 -2
- data/lib/nanoc3/filters/mustache.rb +2 -2
- data/lib/nanoc3/filters/rainpress.rb +2 -2
- data/lib/nanoc3/filters/rdiscount.rb +4 -3
- data/lib/nanoc3/filters/rdoc.rb +10 -6
- data/lib/nanoc3/filters/redcarpet.rb +2 -2
- data/lib/nanoc3/filters/redcloth.rb +2 -2
- data/lib/nanoc3/filters/rubypants.rb +2 -2
- data/lib/nanoc3/filters/sass.rb +44 -52
- data/lib/nanoc3/filters/slim.rb +2 -2
- data/lib/nanoc3/filters/typogruby.rb +2 -2
- data/lib/nanoc3/filters/uglify_js.rb +42 -0
- data/nanoc3.gemspec +1 -1
- data/tasks/test.rake +6 -0
- data/test/base/core_ext/array_spec.rb +0 -2
- data/test/base/core_ext/hash_spec.rb +0 -2
- data/test/base/core_ext/pathname_spec.rb +0 -2
- data/test/base/core_ext/string_spec.rb +0 -2
- data/test/base/test_checksum_store.rb +0 -2
- data/test/base/test_code_snippet.rb +0 -2
- data/test/base/test_compiler.rb +2 -4
- data/test/base/test_compiler_dsl.rb +1 -3
- data/test/base/test_context.rb +0 -2
- data/test/base/test_data_source.rb +0 -2
- data/test/base/test_dependency_tracker.rb +0 -2
- data/test/base/test_directed_graph.rb +0 -2
- data/test/base/test_filter.rb +0 -2
- data/test/base/test_item.rb +19 -4
- data/test/base/test_item_rep.rb +0 -2
- data/test/base/test_layout.rb +19 -4
- data/test/base/test_memoization.rb +39 -2
- data/test/base/test_notification_center.rb +0 -2
- data/test/base/test_outdatedness_checker.rb +31 -2
- data/test/base/test_plugin.rb +0 -2
- data/test/base/test_rule.rb +0 -2
- data/test/base/test_rule_context.rb +0 -2
- data/test/base/test_site.rb +30 -3
- data/test/cli/commands/test_compile.rb +24 -3
- data/test/cli/commands/test_create_item.rb +5 -3
- data/test/cli/commands/test_create_layout.rb +4 -4
- data/test/cli/commands/test_create_site.rb +5 -5
- data/test/cli/commands/test_help.rb +3 -3
- data/test/cli/commands/test_info.rb +2 -3
- data/test/cli/commands/test_update.rb +0 -2
- data/test/cli/test_cli.rb +40 -0
- data/test/cli/test_logger.rb +0 -2
- data/test/data_sources/test_filesystem.rb +0 -2
- data/test/data_sources/test_filesystem_unified.rb +32 -58
- data/test/data_sources/test_filesystem_verbose.rb +0 -2
- data/test/extra/core_ext/test_enumerable.rb +0 -2
- data/test/extra/core_ext/test_time.rb +0 -2
- data/test/extra/deployers/test_rsync.rb +0 -2
- data/test/extra/test_auto_compiler.rb +5 -7
- data/test/extra/test_file_proxy.rb +0 -2
- data/test/extra/test_vcs.rb +0 -2
- data/test/extra/validators/test_links.rb +0 -2
- data/test/extra/validators/test_w3c.rb +0 -2
- data/test/filters/test_asciidoc.rb +0 -2
- data/test/filters/test_bluecloth.rb +0 -2
- data/test/filters/test_coderay.rb +0 -2
- data/test/filters/test_colorize_syntax.rb +49 -2
- data/test/filters/test_erb.rb +0 -2
- data/test/filters/test_erubis.rb +0 -2
- data/test/filters/test_haml.rb +0 -2
- data/test/filters/test_kramdown.rb +0 -2
- data/test/filters/test_less.rb +59 -5
- data/test/filters/test_markaby.rb +0 -2
- data/test/filters/test_maruku.rb +0 -2
- data/test/filters/test_mustache.rb +0 -2
- data/test/filters/test_rainpress.rb +0 -2
- data/test/filters/test_rdiscount.rb +0 -2
- data/test/filters/test_rdoc.rb +0 -2
- data/test/filters/test_redcarpet.rb +0 -2
- data/test/filters/test_redcloth.rb +0 -2
- data/test/filters/test_relativize_paths.rb +77 -24
- data/test/filters/test_rubypants.rb +0 -2
- data/test/filters/test_sass.rb +136 -10
- data/test/filters/test_slim.rb +0 -2
- data/test/filters/test_typogruby.rb +0 -2
- data/test/filters/test_uglify_js.rb +30 -0
- data/test/gem_loader.rb +11 -0
- data/test/helper.rb +3 -0
- data/test/helpers/test_blogging.rb +0 -2
- data/test/helpers/test_breadcrumbs.rb +0 -2
- data/test/helpers/test_capturing.rb +0 -2
- data/test/helpers/test_filtering.rb +0 -2
- data/test/helpers/test_html_escape.rb +0 -2
- data/test/helpers/test_link_to.rb +0 -2
- data/test/helpers/test_rendering.rb +0 -2
- data/test/helpers/test_tagging.rb +0 -2
- data/test/helpers/test_text.rb +0 -2
- data/test/helpers/test_xml_sitemap.rb +0 -2
- data/test/tasks/test_clean.rb +0 -2
- metadata +11 -9
- data/lib/nanoc3/cli/commands.rb +0 -16
- data/lib/nanoc3/cli/commands/help.rb +0 -71
- data/tasks/clean.rake +0 -11
data/test/filters/test_sass.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require 'test/helper'
|
4
|
-
|
5
3
|
class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
6
4
|
|
7
5
|
include Nanoc3::TestHelpers
|
@@ -9,7 +7,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
9
7
|
def test_filter
|
10
8
|
if_have 'sass' do
|
11
9
|
# Get filter
|
12
|
-
filter =
|
10
|
+
filter = create_filter({ :foo => 'bar' })
|
13
11
|
|
14
12
|
# Run filter
|
15
13
|
result = filter.run(".foo #bar\n color: #f00")
|
@@ -20,7 +18,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
20
18
|
def test_filter_with_params
|
21
19
|
if_have 'sass' do
|
22
20
|
# Create filter
|
23
|
-
filter =
|
21
|
+
filter = create_filter({ :foo => 'bar' })
|
24
22
|
|
25
23
|
# Check with compact
|
26
24
|
result = filter.run(".foo #bar\n color: #f00", :style => 'compact')
|
@@ -35,7 +33,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
35
33
|
def test_filter_error
|
36
34
|
if_have 'sass' do
|
37
35
|
# Create filter
|
38
|
-
filter =
|
36
|
+
filter = create_filter
|
39
37
|
|
40
38
|
# Run filter
|
41
39
|
raised = false
|
@@ -52,7 +50,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
52
50
|
def test_filter_can_import_external_files
|
53
51
|
if_have 'sass' do
|
54
52
|
# Create filter
|
55
|
-
filter =
|
53
|
+
filter = create_filter
|
56
54
|
|
57
55
|
# Create sample file
|
58
56
|
File.open('moo.sass', 'w') { |io| io.write "body\n color: red" }
|
@@ -65,7 +63,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
65
63
|
def test_filter_can_import_relative_files
|
66
64
|
if_have 'sass' do
|
67
65
|
# Create filter
|
68
|
-
filter =
|
66
|
+
filter = create_filter
|
69
67
|
|
70
68
|
# Create sample file
|
71
69
|
File.open('moo.sass', 'w') { |io| io.write %Q{@import subdir/relative} }
|
@@ -80,7 +78,7 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
80
78
|
def test_filter_will_skip_items_without_filename
|
81
79
|
if_have 'sass' do
|
82
80
|
# Create filter
|
83
|
-
filter =
|
81
|
+
filter = create_filter
|
84
82
|
|
85
83
|
# Create sample file
|
86
84
|
File.open('moo.sass', 'w') { |io| io.write "body\n color: red" }
|
@@ -89,15 +87,143 @@ class Nanoc3::Filters::SassTest < MiniTest::Unit::TestCase
|
|
89
87
|
filter.run('@import moo')
|
90
88
|
end
|
91
89
|
end
|
92
|
-
|
90
|
+
|
93
91
|
def test_css_imports_work
|
94
92
|
if_have 'sass' do
|
95
93
|
# Create filter
|
96
|
-
filter =
|
94
|
+
filter = create_filter
|
97
95
|
|
98
96
|
# Run filter
|
99
97
|
filter.run('@import moo.css')
|
100
98
|
end
|
101
99
|
end
|
102
100
|
|
101
|
+
def test_recompile_includes
|
102
|
+
if_have 'sass' do
|
103
|
+
with_site do |site|
|
104
|
+
# Create two Sass files
|
105
|
+
Dir['content/*'].each { |i| FileUtils.rm(i) }
|
106
|
+
File.open('content/a.sass', 'w') do |io|
|
107
|
+
io.write('@import b.sass')
|
108
|
+
end
|
109
|
+
File.open('content/b.sass', 'w') do |io|
|
110
|
+
io.write("p\n color: red")
|
111
|
+
end
|
112
|
+
|
113
|
+
# Update rules
|
114
|
+
File.open('Rules', 'w') do |io|
|
115
|
+
io.write "compile '*' do\n"
|
116
|
+
io.write " filter :sass\n"
|
117
|
+
io.write "end\n"
|
118
|
+
io.write "\n"
|
119
|
+
io.write "route '/a/' do\n"
|
120
|
+
io.write " item.identifier.chop + '.css'\n"
|
121
|
+
io.write "end\n"
|
122
|
+
io.write "\n"
|
123
|
+
io.write "route '/b/' do\n"
|
124
|
+
io.write " nil\n"
|
125
|
+
io.write "end\n"
|
126
|
+
end
|
127
|
+
|
128
|
+
# Compile
|
129
|
+
site = Nanoc3::Site.new('.')
|
130
|
+
site.compile
|
131
|
+
|
132
|
+
# Check
|
133
|
+
assert Dir['output/*'].size == 1
|
134
|
+
assert File.file?('output/a.css')
|
135
|
+
refute File.file?('output/b.css')
|
136
|
+
assert_match /^p\s*\{\s*color:\s*red;?\s*\}/,
|
137
|
+
File.read('output/a.css')
|
138
|
+
|
139
|
+
# Update included file
|
140
|
+
File.open('content/b.sass', 'w') do |io|
|
141
|
+
io.write("p\n color: blue")
|
142
|
+
end
|
143
|
+
|
144
|
+
# Recompile
|
145
|
+
site = Nanoc3::Site.new('.')
|
146
|
+
site.compile
|
147
|
+
|
148
|
+
# Recheck
|
149
|
+
assert Dir['output/*'].size == 1
|
150
|
+
assert File.file?('output/a.css')
|
151
|
+
refute File.file?('output/b.css')
|
152
|
+
assert_match /^p\s*\{\s*color:\s*blue;?\s*\}/,
|
153
|
+
File.read('output/a.css')
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
def test_recompile_includes_with_underscore_without_extension
|
159
|
+
if_have 'sass' do
|
160
|
+
with_site do |site|
|
161
|
+
# Create two Sass files
|
162
|
+
Dir['content/*'].each { |i| FileUtils.rm(i) }
|
163
|
+
File.open('content/a.sass', 'w') do |io|
|
164
|
+
io.write('@import b')
|
165
|
+
end
|
166
|
+
File.open('content/_b.sass', 'w') do |io|
|
167
|
+
io.write("p\n color: red")
|
168
|
+
end
|
169
|
+
|
170
|
+
# Update rules
|
171
|
+
File.open('Rules', 'w') do |io|
|
172
|
+
io.write "compile '*' do\n"
|
173
|
+
io.write " filter :sass\n"
|
174
|
+
io.write "end\n"
|
175
|
+
io.write "\n"
|
176
|
+
io.write "route '/a/' do\n"
|
177
|
+
io.write " item.identifier.chop + '.css'\n"
|
178
|
+
io.write "end\n"
|
179
|
+
io.write "\n"
|
180
|
+
io.write "route '/_b/' do\n"
|
181
|
+
io.write " nil\n"
|
182
|
+
io.write "end\n"
|
183
|
+
end
|
184
|
+
|
185
|
+
# Compile
|
186
|
+
site = Nanoc3::Site.new('.')
|
187
|
+
site.compile
|
188
|
+
|
189
|
+
# Check
|
190
|
+
assert Dir['output/*'].size == 1
|
191
|
+
assert File.file?('output/a.css')
|
192
|
+
refute File.file?('output/b.css')
|
193
|
+
assert_match /^p\s*\{\s*color:\s*red;?\s*\}/,
|
194
|
+
File.read('output/a.css')
|
195
|
+
|
196
|
+
# Update included file
|
197
|
+
File.open('content/_b.sass', 'w') do |io|
|
198
|
+
io.write("p\n color: blue")
|
199
|
+
end
|
200
|
+
|
201
|
+
# Recompile
|
202
|
+
site = Nanoc3::Site.new('.')
|
203
|
+
site.compile
|
204
|
+
|
205
|
+
# Recheck
|
206
|
+
assert Dir['output/*'].size == 1
|
207
|
+
assert File.file?('output/a.css')
|
208
|
+
refute File.file?('output/b.css')
|
209
|
+
assert_match /^p\s*\{\s*color:\s*blue;?\s*\}/,
|
210
|
+
File.read('output/a.css')
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
private
|
216
|
+
|
217
|
+
def create_filter(params={})
|
218
|
+
FileUtils.mkdir_p('content')
|
219
|
+
File.open('content/xyzzy.sass', 'w') { |io| io.write('p\n color: green')}
|
220
|
+
|
221
|
+
items = [ Nanoc3::Item.new(
|
222
|
+
'blah',
|
223
|
+
{ :content_filename => 'content/xyzzy.sass' },
|
224
|
+
'/blah/') ]
|
225
|
+
params = { :item => items[0], :items => items }.merge(params)
|
226
|
+
::Nanoc3::Filters::Sass.new(params)
|
227
|
+
end
|
228
|
+
|
103
229
|
end
|
data/test/filters/test_slim.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Nanoc3::Filters::UglifyJSTest < MiniTest::Unit::TestCase
|
4
|
+
|
5
|
+
include Nanoc3::TestHelpers
|
6
|
+
|
7
|
+
def test_filter
|
8
|
+
if_have 'uglifier' do
|
9
|
+
# Create filter
|
10
|
+
filter = ::Nanoc3::Filters::UglifyJS.new
|
11
|
+
|
12
|
+
# Run filter
|
13
|
+
result = filter.run("foo = 1; (function(bar) { if (true) alert(bar); })(foo)")
|
14
|
+
assert_equal("foo=1,function(a){alert(a)}(foo)", result)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_filter_with_options
|
19
|
+
|
20
|
+
if_have 'uglifier' do
|
21
|
+
# Create filter
|
22
|
+
filter = ::Nanoc3::Filters::UglifyJS.new
|
23
|
+
|
24
|
+
# Run filter
|
25
|
+
result = filter.run("foo = 1; (function(bar) { if (true) alert(bar); })(foo)", :toplevel => true)
|
26
|
+
assert_equal("foo=1,function(a){alert(a)}(foo)", result)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
data/test/gem_loader.rb
ADDED
data/test/helper.rb
CHANGED
data/test/helpers/test_text.rb
CHANGED
data/test/tasks/test_clean.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: nanoc3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 5
|
5
|
-
version: 3.2.
|
5
|
+
version: 3.2.0b1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Denis Defreyne
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-07-03 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cri
|
@@ -18,9 +18,9 @@ dependencies:
|
|
18
18
|
requirement: &id001 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: "2.0"
|
24
24
|
type: :runtime
|
25
25
|
version_requirements: *id001
|
26
26
|
description: "nanoc is a simple but very flexible static site generator written in Ruby. It operates on local files, and therefore does not run on the server. nanoc \xE2\x80\x9Ccompiles\xE2\x80\x9D the local source files into HTML (usually), by evaluating eRuby, Markdown, etc."
|
@@ -78,19 +78,18 @@ files:
|
|
78
78
|
- lib/nanoc3/base/source_data/site.rb
|
79
79
|
- lib/nanoc3/base/store.rb
|
80
80
|
- lib/nanoc3/base.rb
|
81
|
-
- lib/nanoc3/cli/
|
81
|
+
- lib/nanoc3/cli/command.rb
|
82
82
|
- lib/nanoc3/cli/commands/autocompile.rb
|
83
83
|
- lib/nanoc3/cli/commands/compile.rb
|
84
84
|
- lib/nanoc3/cli/commands/create_item.rb
|
85
85
|
- lib/nanoc3/cli/commands/create_layout.rb
|
86
86
|
- lib/nanoc3/cli/commands/create_site.rb
|
87
87
|
- lib/nanoc3/cli/commands/debug.rb
|
88
|
-
- lib/nanoc3/cli/commands/help.rb
|
89
88
|
- lib/nanoc3/cli/commands/info.rb
|
89
|
+
- lib/nanoc3/cli/commands/nanoc.rb
|
90
90
|
- lib/nanoc3/cli/commands/update.rb
|
91
91
|
- lib/nanoc3/cli/commands/view.rb
|
92
92
|
- lib/nanoc3/cli/commands/watch.rb
|
93
|
-
- lib/nanoc3/cli/commands.rb
|
94
93
|
- lib/nanoc3/cli/logger.rb
|
95
94
|
- lib/nanoc3/cli.rb
|
96
95
|
- lib/nanoc3/data_sources/deprecated/delicious.rb
|
@@ -141,6 +140,7 @@ files:
|
|
141
140
|
- lib/nanoc3/filters/sass.rb
|
142
141
|
- lib/nanoc3/filters/slim.rb
|
143
142
|
- lib/nanoc3/filters/typogruby.rb
|
143
|
+
- lib/nanoc3/filters/uglify_js.rb
|
144
144
|
- lib/nanoc3/filters.rb
|
145
145
|
- lib/nanoc3/helpers/blogging.rb
|
146
146
|
- lib/nanoc3/helpers/breadcrumbs.rb
|
@@ -159,7 +159,6 @@ files:
|
|
159
159
|
- lib/nanoc3/tasks/validate.rake
|
160
160
|
- lib/nanoc3/tasks.rb
|
161
161
|
- lib/nanoc3.rb
|
162
|
-
- tasks/clean.rake
|
163
162
|
- tasks/doc.rake
|
164
163
|
- tasks/test.rake
|
165
164
|
- test/base/core_ext/array_spec.rb
|
@@ -192,6 +191,7 @@ files:
|
|
192
191
|
- test/cli/commands/test_help.rb
|
193
192
|
- test/cli/commands/test_info.rb
|
194
193
|
- test/cli/commands/test_update.rb
|
194
|
+
- test/cli/test_cli.rb
|
195
195
|
- test/cli/test_logger.rb
|
196
196
|
- test/data_sources/test_filesystem.rb
|
197
197
|
- test/data_sources/test_filesystem_unified.rb
|
@@ -226,6 +226,8 @@ files:
|
|
226
226
|
- test/filters/test_sass.rb
|
227
227
|
- test/filters/test_slim.rb
|
228
228
|
- test/filters/test_typogruby.rb
|
229
|
+
- test/filters/test_uglify_js.rb
|
230
|
+
- test/gem_loader.rb
|
229
231
|
- test/helper.rb
|
230
232
|
- test/helpers/test_blogging.rb
|
231
233
|
- test/helpers/test_breadcrumbs.rb
|
@@ -279,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
281
|
requirements: []
|
280
282
|
|
281
283
|
rubyforge_project:
|
282
|
-
rubygems_version: 1.8.
|
284
|
+
rubygems_version: 1.8.5
|
283
285
|
signing_key:
|
284
286
|
specification_version: 3
|
285
287
|
summary: a web publishing system written in Ruby for building small to medium-sized websites.
|