webgen 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/VERSION +1 -1
  4. data/data/webgen/passive_sources/stylesheets/api.css +2 -4
  5. data/data/webgen/passive_sources/templates/api.template +1 -1
  6. data/data/webgen/passive_sources/templates/feed.template +1 -1
  7. data/lib/webgen/cli.rb +67 -63
  8. data/lib/webgen/cli/commands/create.rb +4 -6
  9. data/lib/webgen/cli/commands/create_bundle.rb +8 -18
  10. data/lib/webgen/cli/commands/create_website.rb +15 -21
  11. data/lib/webgen/cli/commands/generate.rb +10 -16
  12. data/lib/webgen/cli/commands/install.rb +4 -6
  13. data/lib/webgen/cli/commands/show.rb +3 -3
  14. data/lib/webgen/cli/commands/show_bundles.rb +9 -13
  15. data/lib/webgen/cli/commands/show_config.rb +12 -18
  16. data/lib/webgen/cli/commands/show_dependencies.rb +7 -8
  17. data/lib/webgen/cli/commands/show_extensions.rb +10 -13
  18. data/lib/webgen/cli/commands/show_tree.rb +11 -16
  19. data/lib/webgen/cli/utils.rb +0 -18
  20. data/lib/webgen/content_processor.rb +2 -2
  21. data/lib/webgen/content_processor/sass.rb +6 -0
  22. data/lib/webgen/item_tracker/nodes.rb +8 -1
  23. data/lib/webgen/node_finder.rb +53 -31
  24. data/lib/webgen/path.rb +15 -3
  25. data/lib/webgen/path_handler/api.rb +23 -2
  26. data/lib/webgen/path_handler/page_utils.rb +5 -3
  27. data/lib/webgen/path_handler/sitemap.rb +1 -1
  28. data/lib/webgen/version.rb +1 -1
  29. data/test/webgen/path_handler/test_api.rb +24 -6
  30. data/test/webgen/path_handler/test_page_utils.rb +5 -0
  31. data/test/webgen/test_cli.rb +3 -3
  32. data/test/webgen/test_content_processor.rb +1 -0
  33. data/test/webgen/test_node_finder.rb +5 -4
  34. data/test/webgen/test_path.rb +14 -4
  35. metadata +52 -52
@@ -251,7 +251,8 @@ module Webgen
251
251
  # For a description of the parameter +mode+ see #io.
252
252
  #
253
253
  # An error is raised, if no IO object is associated with the Path instance.
254
- def data(mode = 'r')
254
+ def data(mode = nil)
255
+ mode ||= @meta_info['io_open_mode'] || 'r'
255
256
  io(mode) {|io| io.read}
256
257
  end
257
258
 
@@ -304,7 +305,11 @@ module Webgen
304
305
  else
305
306
  analyse_file
306
307
  end
307
- @meta_info['title'] ||= @basename.tr('_-', ' ').capitalize
308
+ @meta_info['title'] ||= begin
309
+ name = @basename.tr('_-', ' ')
310
+ name[0] = name[0].upcase
311
+ name
312
+ end
308
313
  @ext ||= ''
309
314
  raise "The basename of a path may not be empty: #{@path}" if @basename.empty? || @basename == '#'
310
315
  raise "The parent path must start with a slash: #{@path}" if @path[0] != ?/
@@ -323,9 +328,16 @@ module Webgen
323
328
  @parent_path = File.join(File.dirname(@path), '/')
324
329
  match_data = FILENAME_RE.match(File.basename(@path))
325
330
 
326
- if !match_data[1].nil? && match_data[3].nil? && match_data[4].nil? # handle special case of sort_info.basename as basename.ext
331
+ if !match_data[1].nil? && match_data[3].nil? && match_data[4].nil?
332
+ # handle special case of sort_info.basename as basename.ext
327
333
  @basename = match_data[1]
328
334
  @ext = match_data[2]
335
+ elsif !match_data[1].nil? && match_data[3].nil? && !match_data[4].nil? &&
336
+ (lang = Webgen::LanguageManager.language_for_code(match_data[2]))
337
+ # handle special case of sort_info.basename.ext as basename.lang.ext if basename is a lang
338
+ @basename = match_data[1]
339
+ @meta_info['lang'] = lang
340
+ @ext = match_data[4]
329
341
  else
330
342
  @meta_info['sort_info'] ||= match_data[1].to_i unless match_data[1].nil?
331
343
  @basename = match_data[2]
@@ -43,10 +43,12 @@ module Webgen
43
43
  api.file_nodes = {}
44
44
 
45
45
  rdoc.store.all_classes_and_modules.sort.each do |klass|
46
+ adapt_rdoc_class(path, klass)
46
47
  klass_node = create_page_node_for_class(path, dir_node, klass, output_flag_file)
47
48
  api.class_nodes[klass.full_name] = klass_node
48
49
  klass_node.node_info[:api] = api
49
50
  klass.each_method {|method| create_fragment_node_for_method(path, klass_node, method)}
51
+ klass.each_attribute {|attr| create_fragment_node_for_method(path, klass_node, attr)}
50
52
  end
51
53
 
52
54
  rdoc.store.all_files.sort.each do |file|
@@ -137,16 +139,35 @@ module Webgen
137
139
  end
138
140
  protected :rdoc_store
139
141
 
142
+ # Adapt a RDoc class/module object to provide a different output path depending on the
143
+ # output_structure meta information of the API path.
144
+ def adapt_rdoc_class(api_path, klass)
145
+ case api_path['output_structure']
146
+ when 'hierarchical'
147
+ api_path['use_proxy_path'] = false
148
+ def klass.http_url(prefix)
149
+ if classes_and_modules.size > 0
150
+ super(prefix).sub(/\.html/, '/index.html')
151
+ else
152
+ super(prefix)
153
+ end
154
+ end
155
+ else
156
+ api_path['use_proxy_path'] = true
157
+ end
158
+ end
159
+ protected :adapt_rdoc_class
160
+
140
161
  # Create a page node for the given class +klass+ and return it.
141
162
  #
142
163
  # A link definition entry for the class is also created.
143
164
  def create_page_node_for_class(api_path, dir_node, klass, output_flag_file)
144
165
  klass_path_str = klass.http_url(dir_node.alcn)
145
166
 
146
- create_directory(api_path, Webgen::Path.new(File.dirname(klass_path_str) + '/'))
167
+ create_directory(api_path, Webgen::Path.new(File.dirname(klass_path_str) + '/'), api_path['use_proxy_path'])
147
168
 
148
169
  path = Webgen::Path.new(klass_path_str, 'handler' => 'page', 'modified_at' => api_path['modified_at'],
149
- 'title' => "#{klass.type} #{klass.full_name}", 'api_class_name' => klass.full_name,
170
+ 'title' => "#{klass.full_name}", 'api_class_name' => klass.full_name,
150
171
  'api_name' => api_path['api_name'], 'template' => api_path['api_template'])
151
172
  node = @website.ext.path_handler.create_secondary_nodes(path).first
152
173
 
@@ -39,9 +39,11 @@ module Webgen
39
39
 
40
40
  context.content = blocks[name].dup
41
41
  context[:block_name] = name
42
- pipeline ||= ((self['blocks'] || {})[name] || {})['pipeline'] ||
43
- ((self['blocks'] || {})['defaults'] || {})['pipeline'] ||
44
- []
42
+ pipeline ||= if (t = self['blocks']) && (t = t[name] || t['defaults']) && t.key?('pipeline')
43
+ t['pipeline']
44
+ else
45
+ []
46
+ end
45
47
  content_processor.normalize_pipeline(pipeline).each do |processor|
46
48
  content_processor.call(processor, context)
47
49
  end
@@ -46,7 +46,7 @@ module Webgen
46
46
  path['node_class'] = Node.to_s
47
47
  create_node(path) do |node|
48
48
  set_blocks(node, blocks)
49
- node.node_info[:entries] = {:flatten => true, :and => node['entries']}
49
+ node.node_info[:entries] = {:flatten => true, :not => {:mi => {'no_output' => true}}, :and => node['entries']}
50
50
  @website.ext.item_tracker.add(node, :nodes, :node_finder_option_set,
51
51
  {:opts => node.node_info[:entries], :ref_alcn => node.alcn}, :meta_info)
52
52
  end
@@ -3,6 +3,6 @@
3
3
  module Webgen
4
4
 
5
5
  # The version of webgen.
6
- VERSION = '1.3.0'
6
+ VERSION = '1.4.0'
7
7
 
8
8
  end
@@ -5,6 +5,9 @@ require 'webgen/path_handler/api'
5
5
 
6
6
  class TestPathHandlerApi < Minitest::Test
7
7
 
8
+ class SampleTestSubclass
9
+ end
10
+
8
11
  include Webgen::TestHelper
9
12
 
10
13
  def setup
@@ -26,26 +29,41 @@ class TestPathHandlerApi < Minitest::Test
26
29
  FileUtils.rm_rf(@website.directory)
27
30
  end
28
31
 
29
- def test_create_nodes
32
+ def setup_for_create_nodes
30
33
  @website.ext.path_handler = Webgen::PathHandler.new(@website)
31
34
  @website.ext.path_handler.register('Directory')
32
35
  @website.ext.path_handler.register('Page')
33
36
  @website.ext.path_handler.register('Copy')
34
37
  @website.ext.link_definitions = {}
35
- @api.create_nodes(@path, nil)
38
+ end
36
39
 
37
- assert(@website.tree['/my_dir/TestPathHandlerApi.en.html'])
38
- assert_equal(['/my_dir/TestPathHandlerApi.en.html', 'TestPathHandlerApi'],
40
+ def assert_common_tests_for_create_nodes(test_alcn)
41
+ assert(@website.tree[test_alcn])
42
+ assert_equal([test_alcn, 'TestPathHandlerApi'],
39
43
  @website.ext.link_definitions['my_api:TestPathHandlerApi'])
40
- assert(@website.tree['/my_dir/TestPathHandlerApi.en.html#method-i-setup'])
41
- assert_equal(['/my_dir/TestPathHandlerApi.en.html#method-i-setup', 'TestPathHandlerApi#setup'],
44
+ assert(@website.tree["#{test_alcn}#method-i-setup"])
45
+ assert_equal(["#{test_alcn}#method-i-setup", 'TestPathHandlerApi#setup'],
42
46
  @website.ext.link_definitions['my_api:TestPathHandlerApi#setup'])
43
47
  assert(@website.tree['/my_dir/API_rdoc.en.html'])
48
+ assert(@website.tree['/my_dir/TestPathHandlerApi/SampleTestSubclass.en.html'])
44
49
 
45
50
  cache_dir = @website.tmpdir(File.join('path_handler.api', 'my_api'))
46
51
  assert(File.directory?(cache_dir))
47
52
  end
48
53
 
54
+ def test_create_nodes
55
+ setup_for_create_nodes
56
+ @api.create_nodes(@path, nil)
57
+ assert_common_tests_for_create_nodes('/my_dir/TestPathHandlerApi.en.html')
58
+ end
59
+
60
+ def test_create_nodes_hierarchical
61
+ setup_for_create_nodes
62
+ @path['output_structure'] = 'hierarchical'
63
+ @api.create_nodes(@path, nil)
64
+ assert_common_tests_for_create_nodes('/my_dir/TestPathHandlerApi/index.en.html')
65
+ end
66
+
49
67
  def test_rdoc_options
50
68
  data_methods = [:verbosity, :dry_run, :update_output_dir,
51
69
  :force_output, :files]
@@ -82,6 +82,11 @@ class TestPageUtils < Minitest::Test
82
82
 
83
83
  node.render_block('content', @context, ['test', 'test'])
84
84
  assert_equal('testtestmycontent', @context.content)
85
+
86
+ # with no content processor
87
+ node.meta_info['blocks'] = {'content' => {'pipeline' => nil}}
88
+ node.render_block('content', @context)
89
+ assert_equal('mycontent', @context.content)
85
90
  end
86
91
 
87
92
  end
@@ -7,7 +7,7 @@ class TestCLICommandParser < Minitest::Test
7
7
 
8
8
  class SampleCommand < CmdParse::Command
9
9
  def initialize
10
- super('sample', false)
10
+ super('sample', takes_commands: false)
11
11
  end
12
12
  end
13
13
 
@@ -30,11 +30,11 @@ class TestCLICommandParser < Minitest::Test
30
30
  out, err = capture_io do
31
31
  begin
32
32
  @cli.parse(['help'])
33
- assert_equal(Dir.pwd, @cli.directory + '/')
33
+ assert_equal(Dir.pwd, @cli.directory)
34
34
  rescue SystemExit
35
35
  end
36
36
  end
37
- assert_match(/Global options:/, out)
37
+ assert_match(/Global Options:/, out)
38
38
  assert_match(/create.*generate.*help.*install.*sample.*.*show.*config.*deps.*extensions.*version/m, out)
39
39
  end
40
40
 
@@ -76,6 +76,7 @@ class TestContentProcessor < Minitest::Test
76
76
  def test_normalize_pipeline
77
77
  @cp.register('MyProcessor')
78
78
  @cp.register('MyProcessor', :name => 'other')
79
+ assert_equal([], @cp.normalize_pipeline(nil))
79
80
  assert_equal(['my_processor', 'other', 'other'], @cp.normalize_pipeline('my_processor,other,other'))
80
81
  assert_equal(['my_processor', 'other', 'other'], @cp.normalize_pipeline('my_processor, other, other'))
81
82
  assert_equal(['my_processor', 'other', 'other'], @cp.normalize_pipeline(['my_processor','other','other']))
@@ -62,10 +62,11 @@ class TestNodeFinder < Minitest::Test
62
62
  check.call(%w[/dir/subfile.html /other.en.html /other.html /dir2/index.en.html /dir2/index.de.html
63
63
  /german.de.html /dir/dir/file.html /file.de.html /file.en.html],
64
64
  @nf.find({:alcn => '/**/*.html', :flatten => true, :sort => true, :reverse => true}, tree['/']))
65
- check.call(%w[/german.de.html /other.en.html /other.html /file.en.html /file.de.html],
66
- @nf.find({:alcn => '/*.html', :flatten => true, :sort => 'sort_info'}, tree['/']))
67
- check.call(%w[/file.de.html /file.en.html /other.html /other.en.html /german.de.html],
68
- @nf.find({:alcn => '/*.html', :flatten => true, :sort => 'sort_info', :reverse => true}, tree['/']))
65
+ # deactivated tests because of change in "unstable" sort of Ruby between 2.1.2 and 2.2.0
66
+ #check.call(%w[/german.de.html /other.en.html /other.html /file.en.html /file.de.html],
67
+ # @nf.find({:alcn => '/*.html', :flatten => true, :sort => 'sort_info'}, tree['/']))
68
+ #check.call(%w[/file.de.html /file.en.html /other.html /other.en.html /german.de.html],
69
+ # @nf.find({:alcn => '/*.html', :flatten => true, :sort => 'sort_info', :reverse => true}, tree['/']))
69
70
  check.call(%w[/dir/dir/file.html /file.de.html /file.en.html /german.de.html /dir2/index.de.html /dir2/index.en.html
70
71
  /other.html /other.en.html /dir/subfile.html],
71
72
  @nf.find({:alcn => '/**/*.html', :name => 'test', :flatten => true, :sort => 'title'}, tree['/']))
@@ -110,7 +110,11 @@ class TestPath < Minitest::Test
110
110
  check_proc.call(Webgen::Path.new('/5.png'),
111
111
  '/', '5', nil, 'png', '5.png', '5.png', '/5.png', '/5.png', nil, '5')
112
112
  check_proc.call(Webgen::Path.new('/5.de.png'),
113
- '/', 'de', nil, 'png', 'de.png', 'de.png', '/de.png', '/de.png', 5, 'De')
113
+ '/', '5', 'de', 'png', '5.png', '5.de.png', '/5.png', '/5.de.png', nil, '5')
114
+ check_proc.call(Webgen::Path.new('/5.de.png.gz'),
115
+ '/', 'de', nil, 'png.gz', 'de.png.gz', 'de.png.gz', '/de.png.gz', '/de.png.gz', 5, 'De')
116
+ check_proc.call(Webgen::Path.new('/5.de.en.gz'),
117
+ '/', 'de', 'en', 'gz', 'de.gz', 'de.en.gz', '/de.gz', '/de.en.gz', 5, 'De')
114
118
  check_proc.call(Webgen::Path.new('/5.66.png'),
115
119
  '/', '66', nil, 'png', '66.png', '66.png', '/66.png', '/66.png', 5, '66')
116
120
 
@@ -129,6 +133,10 @@ class TestPath < Minitest::Test
129
133
  check_proc.call(Webgen::Path.new('/dir/file.en.png', 'cn' => '<basename>(-<version>)<ext>', 'version' => 'hallo'),
130
134
  '/dir/', 'file', 'en', 'png', 'file-hallo.png', 'file-hallo.en.png', '/dir/file-hallo.png', '/dir/file-hallo.en.png', nil, 'File')
131
135
 
136
+ # Check title generation
137
+ check_proc.call(Webgen::Path.new('/someFile.png'),
138
+ '/', 'someFile', nil, 'png', 'someFile.png', 'someFile.png', '/someFile.png', '/someFile.png', nil, 'SomeFile')
139
+
132
140
  # Check general exceptions
133
141
  assert_raises(RuntimeError) { Webgen::Path.new('/no_basename#').basename }
134
142
  assert_raises(RuntimeError) { Webgen::Path.new('relative.page').basename }
@@ -219,10 +227,12 @@ class TestPath < Minitest::Test
219
227
  assert_equal('hallo', path.io {|f| f.read })
220
228
 
221
229
  Dir.mktmpdir('webgen-path') do |dir|
222
- File.open(File.join(dir, 'src'), 'wb+') {|f| f.write("\303\274")}
230
+ File.open(File.join(dir, 'src'), 'wb+') {|f| f.write("\xEF\xBB\xBF\303\274")}
223
231
  path = Webgen::Path.new('/test') {|mode| File.open(File.join(dir, 'src'), mode) }
224
- assert_equal(1, path.data('r:UTF-8').length)
225
- assert_equal(2, path.data('rb').length)
232
+ assert_equal(2, path.data('r:UTF-8').length)
233
+ assert_equal(5, path.data('rb').length)
234
+ path['io_open_mode'] = 'r:BOM|UTF-8'
235
+ assert_equal(1, path.data.length)
226
236
  end
227
237
 
228
238
  path = Webgen::Path.new('/test.page')
metadata CHANGED
@@ -1,243 +1,243 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Leitner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-15 00:00:00.000000000 Z
11
+ date: 2015-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cmdparse
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
20
- - - '>='
19
+ version: '3.0'
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 2.0.5
22
+ version: 3.0.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '2.0'
30
- - - '>='
29
+ version: '3.0'
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 2.0.5
32
+ version: 3.0.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: systemu
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ~>
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '2.5'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ~>
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: kramdown
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ~>
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.3'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.3'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - '>='
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: 0.8.3
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '>='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: 0.8.3
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: minitest
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ~>
79
+ - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '5.0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ~>
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '5.0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: diff-lcs
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - ~>
93
+ - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '1.0'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ~>
100
+ - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: '1.0'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: maruku
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ~>
107
+ - - "~>"
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0.7'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - ~>
114
+ - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0.7'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: RedCloth
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - ~>
121
+ - - "~>"
122
122
  - !ruby/object:Gem::Version
123
123
  version: '4.1'
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - ~>
128
+ - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '4.1'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: haml
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ~>
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
137
  version: '4.0'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - ~>
142
+ - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: '4.0'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: sass
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - ~>
149
+ - - "~>"
150
150
  - !ruby/object:Gem::Version
151
151
  version: '3.2'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - ~>
156
+ - - "~>"
157
157
  - !ruby/object:Gem::Version
158
158
  version: '3.2'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: builder
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - ~>
163
+ - - "~>"
164
164
  - !ruby/object:Gem::Version
165
165
  version: '2.1'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - ~>
170
+ - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '2.1'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rdoc
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ~>
177
+ - - "~>"
178
178
  - !ruby/object:Gem::Version
179
179
  version: '4.0'
180
180
  type: :development
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ~>
184
+ - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: '4.0'
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: coderay
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - ~>
191
+ - - "~>"
192
192
  - !ruby/object:Gem::Version
193
193
  version: '1.0'
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - ~>
198
+ - - "~>"
199
199
  - !ruby/object:Gem::Version
200
200
  version: '1.0'
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: erubis
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - ~>
205
+ - - "~>"
206
206
  - !ruby/object:Gem::Version
207
207
  version: '2.6'
208
208
  type: :development
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - ~>
212
+ - - "~>"
213
213
  - !ruby/object:Gem::Version
214
214
  version: '2.6'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: rdiscount
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ~>
219
+ - - "~>"
220
220
  - !ruby/object:Gem::Version
221
221
  version: '1.3'
222
222
  type: :development
223
223
  prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
- - - ~>
226
+ - - "~>"
227
227
  - !ruby/object:Gem::Version
228
228
  version: '1.3'
229
229
  - !ruby/object:Gem::Dependency
230
230
  name: archive-tar-minitar
231
231
  requirement: !ruby/object:Gem::Requirement
232
232
  requirements:
233
- - - ~>
233
+ - - "~>"
234
234
  - !ruby/object:Gem::Version
235
235
  version: '0.5'
236
236
  type: :development
237
237
  prerelease: false
238
238
  version_requirements: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - ~>
240
+ - - "~>"
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0.5'
243
243
  description: |
@@ -252,17 +252,17 @@ extensions: []
252
252
  extra_rdoc_files:
253
253
  - API.rdoc
254
254
  files:
255
- - Rakefile
256
- - setup.rb
257
- - VERSION
255
+ - API.rdoc
258
256
  - AUTHORS
259
- - THANKS
260
257
  - COPYING
261
258
  - GPL
262
- - API.rdoc
263
259
  - README.md
260
+ - Rakefile
261
+ - THANKS
262
+ - VERSION
264
263
  - bin/webgen
265
264
  - data/webgen/basic_website_template/ext/init.rb
265
+ - data/webgen/basic_website_template/src/.gitignore
266
266
  - data/webgen/basic_website_template/webgen.config
267
267
  - data/webgen/bundle_template_files/README.md.erb
268
268
  - data/webgen/bundle_template_files/Rakefile.erb
@@ -278,7 +278,6 @@ files:
278
278
  - data/webgen/passive_sources/templates/sitemap.template
279
279
  - data/webgen/passive_sources/templates/tag.template
280
280
  - data/webgen/passive_sources/templates/tikz.template
281
- - data/webgen/basic_website_template/src/.gitignore
282
281
  - lib/webgen/blackboard.rb
283
282
  - lib/webgen/bundle/built-in-show-changes/info.yaml
284
283
  - lib/webgen/bundle/built-in-show-changes/init.rb
@@ -388,6 +387,7 @@ files:
388
387
  - lib/webgen/version.rb
389
388
  - lib/webgen/website.rb
390
389
  - man/man1/webgen.1
390
+ - setup.rb
391
391
  - test/test_documentation.rb
392
392
  - test/webgen/cli/test_logger.rb
393
393
  - test/webgen/content_processor/test_blocks.rb
@@ -484,24 +484,24 @@ post_install_message: |2+
484
484
  Have fun!
485
485
 
486
486
  rdoc_options:
487
- - --line-numbers
488
- - --main
487
+ - "--line-numbers"
488
+ - "--main"
489
489
  - API.rdoc
490
490
  require_paths:
491
491
  - lib
492
492
  required_ruby_version: !ruby/object:Gem::Requirement
493
493
  requirements:
494
- - - '>='
494
+ - - ">="
495
495
  - !ruby/object:Gem::Version
496
- version: 1.9.3
496
+ version: 2.0.0
497
497
  required_rubygems_version: !ruby/object:Gem::Requirement
498
498
  requirements:
499
- - - '>='
499
+ - - ">="
500
500
  - !ruby/object:Gem::Version
501
501
  version: '0'
502
502
  requirements: []
503
503
  rubyforge_project:
504
- rubygems_version: 2.0.3
504
+ rubygems_version: 2.4.5
505
505
  signing_key:
506
506
  specification_version: 4
507
507
  summary: webgen is a fast, powerful, and extensible static website generator.