webgen 1.4.0 → 1.4.1

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/data/webgen/passive_sources/default.metainfo +4 -4
  4. data/lib/webgen/blackboard.rb +2 -2
  5. data/lib/webgen/bundle/built-in/init.rb +2 -2
  6. data/lib/webgen/content_processor/blocks.rb +1 -2
  7. data/lib/webgen/content_processor/sass.rb +2 -2
  8. data/lib/webgen/content_processor/tikz.rb +2 -2
  9. data/lib/webgen/content_processor/xmllint.rb +1 -1
  10. data/lib/webgen/destination/file_system.rb +1 -1
  11. data/lib/webgen/rake_task.rb +2 -2
  12. data/lib/webgen/source/file_system.rb +1 -1
  13. data/lib/webgen/tag/include_file.rb +2 -2
  14. data/lib/webgen/task/create_website.rb +9 -9
  15. data/lib/webgen/utils.rb +1 -1
  16. data/lib/webgen/vendor/rainpress.rb +26 -26
  17. data/lib/webgen/version.rb +1 -1
  18. data/test/test_documentation.rb +0 -3
  19. data/test/webgen/cli/test_logger.rb +1 -1
  20. data/test/webgen/content_processor/test_html_head.rb +1 -1
  21. data/test/webgen/content_processor/test_kramdown.rb +1 -1
  22. data/test/webgen/content_processor/test_ruby.rb +1 -1
  23. data/test/webgen/content_processor/test_sass.rb +2 -2
  24. data/test/webgen/content_processor/test_tags.rb +1 -1
  25. data/test/webgen/content_processor/test_tikz.rb +5 -2
  26. data/test/webgen/path_handler/test_api.rb +1 -1
  27. data/test/webgen/path_handler/test_base.rb +2 -2
  28. data/test/webgen/path_handler/test_copy.rb +1 -1
  29. data/test/webgen/path_handler/test_template.rb +1 -1
  30. data/test/webgen/path_handler/test_virtual.rb +1 -1
  31. data/test/webgen/tag/test_breadcrumb_trail.rb +1 -1
  32. data/test/webgen/tag/test_langbar.rb +1 -1
  33. data/test/webgen/test_cache.rb +2 -2
  34. data/test/webgen/test_cli.rb +2 -2
  35. data/test/webgen/test_destination.rb +1 -1
  36. data/test/webgen/test_node.rb +1 -1
  37. data/test/webgen/test_path.rb +2 -2
  38. data/test/webgen/test_tree.rb +13 -13
  39. data/test/webgen/utils/test_tag_parser.rb +1 -1
  40. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8a60ac4c86998c240ed99fd35a34d68d4c58a9ab
4
- data.tar.gz: 36a48c6b290e92da90225f76b3dda06557fe57c9
3
+ metadata.gz: d93b547db495a7469b8a3b038da5ab6eae16c083
4
+ data.tar.gz: d634fdc3f669cde58f29346d2a769c1ecd1bdbf3
5
5
  SHA512:
6
- metadata.gz: 54a4999cee44f7498f01c7e1131e8d64a17c0a8581cda6c4f79577541a436df7d2f9624a1ba79407fec581c923115ad01fca3037c1804c5f8c47e12fe4aeb9e5
7
- data.tar.gz: fdcecf0497be5d33dc7514aab8775326132c8addfcc5d1fcf4c55e2742edcfff3007c789de6a63b37170a9bfac78bc9fd118920699a06bcd4048a2b73b83c7f0
6
+ metadata.gz: 8e82628dd6abefd5c7eee3266e77b0a435671486a0460e014c9ba46b6c7e29552cb9bdcbf152e1be3ee1dcc66501ec71a4c6a4434d311ab68bb785ff94ab0d81
7
+ data.tar.gz: 838e654ae206a8a79554ac6c71d46daa4719758518c60a5e117f4068c07777fc6d0e0f917974081ed07dfbdbef1325fab144ec2442467820fd708f7ffad63f2b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.0
1
+ 1.4.1
@@ -1,8 +1,4 @@
1
1
  --- paths
2
- /**/:
3
- handler: directory
4
- proxy_path: index.html
5
-
6
2
  /**/*.template:
7
3
  handler: template
8
4
  blocks: {defaults: {pipeline: [erb,tags,blocks,html_head]}}
@@ -45,3 +41,7 @@
45
41
  handler: copy
46
42
  pipeline: scss
47
43
  no_output: true
44
+
45
+ /**/:
46
+ handler: directory
47
+ proxy_path: index.html
@@ -22,9 +22,9 @@ module Webgen
22
22
  # unknown ID is specified, the listener is added as last entry in the listener array.
23
23
  def add_listener(msg_name, id = nil, position = {}, &block)
24
24
  position = if position[:before]
25
- (@listener[msg_name] || []).index {|id, obj| id == position[:before]}
25
+ (@listener[msg_name] || []).index {|lid, obj| lid == position[:before]}
26
26
  elsif position[:after]
27
- (pos = (@listener[msg_name] || []).index {|id, obj| id == position[:after]}) && pos + 1
27
+ (pos = (@listener[msg_name] || []).index {|lid, obj| lid == position[:after]}) && pos + 1
28
28
  end
29
29
  insert_listener_at_position(msg_name, id, position || -1, &block)
30
30
  end
@@ -285,7 +285,7 @@ option('tag.include_file.escape_html', true, &true_or_false)
285
285
 
286
286
  tag.register('Coderay', :mandatory => ['lang'])
287
287
  option('tag.coderay.lang', 'ruby')
288
- option('tag.coderay.process_body', true &true_or_false)
288
+ option('tag.coderay.process_body', true, &true_or_false)
289
289
  option('tag.coderay.wrap', 'div') do |val|
290
290
  val = val.to_s.intern
291
291
  raise "The value has to be either div or span" unless val == :div || val == :span
@@ -313,7 +313,7 @@ option('tag.langbar.separator', ' | ')
313
313
  option('tag.langbar.mapping', {}, &is_hash)
314
314
 
315
315
  tag.register('BreadcrumbTrail')
316
- option('tag.breadcrumb_trail.omit_dir_index', false &true_or_false)
316
+ option('tag.breadcrumb_trail.omit_dir_index', false, &true_or_false)
317
317
  option('tag.breadcrumb_trail.start_level', 0, &is_integer)
318
318
  option('tag.breadcrumb_trail.end_level', -1, &is_integer)
319
319
  option('tag.breadcrumb_trail.separator', ' / ', &is_string)
@@ -55,15 +55,14 @@ module Webgen
55
55
  used_chain = (context[:chain].length > 1 ? context[:chain][1..-1] : context[:chain].dup)
56
56
  elsif options[:chain].kind_of?(Array)
57
57
  used_chain = options[:chain]
58
- dest_node = context.dest_node
59
58
  else
60
59
  paths = options[:chain].split(';')
61
60
  used_chain = paths.collect do |path|
62
61
  context.ref_node.resolve(path.strip, context.dest_node.lang, true)
63
62
  end.compact
64
63
  return '' if used_chain.length != paths.length
65
- dest_node = context.dest_node
66
64
  end
65
+ dest_node = context.dest_node
67
66
 
68
67
  if options[:node] == 'first'
69
68
  used_chain.shift while used_chain.length > 0 && !used_chain.first.blocks.has_key?(options[:name])
@@ -96,8 +96,8 @@ module Webgen
96
96
  def possible_filenames(path)
97
97
  dirname, basename = File.split(path)
98
98
  basename, ext = basename.scan(/^(.*?)(?:\.(sass|scss))?$/).first
99
- (ext.nil? ? %w{sass scss} : [ext]).map do |ext|
100
- [["#{dirname}/_#{basename}.#{ext}", ext.to_sym], ["#{dirname}/#{basename}.#{ext}", ext.to_sym]]
99
+ (ext.nil? ? %w{sass scss} : [ext]).map do |iext|
100
+ [["#{dirname}/_#{basename}.#{iext}", iext.to_sym], ["#{dirname}/#{basename}.#{iext}", iext.to_sym]]
101
101
  end.flatten(1)
102
102
  end
103
103
 
@@ -67,7 +67,7 @@ module Webgen
67
67
  render_res, output_res = context['content_processor.tikz.resolution'].split(' ')
68
68
 
69
69
  File.write(tex_file, context.content)
70
- execute("pdflatex -shell-escape -interaction=nonstopmode -halt-on-error #{basename}.tex", cwd, context) do |status, stdout, stderr|
70
+ execute("pdflatex -shell-escape -interaction=nonstopmode -halt-on-error #{basename}.tex", cwd, context) do |_status, stdout, stderr|
71
71
  errors = (stdout+stderr).scan(/^!(.*\n.*)/).join("\n")
72
72
  raise Webgen::RenderError.new("Error while parsing TikZ picture commands with PDFLaTeX: #{errors}",
73
73
  'content_processor.tikz', context.dest_node, context.ref_node)
@@ -84,7 +84,7 @@ module Webgen
84
84
  execute(cmd, cwd, context)
85
85
 
86
86
  if render_res != output_res
87
- status, stdout, stderr = execute("identify #{basename}#{ext}", cwd, context)
87
+ _status, stdout, _stderr = execute("identify #{basename}#{ext}", cwd, context)
88
88
  width, height = stdout.scan(/\s\d+x\d+\s/).first.strip.split('x').collect do |s|
89
89
  s.to_f * output_res.to_f / render_res.to_f
90
90
  end
@@ -14,7 +14,7 @@ module Webgen
14
14
  Webgen::Utils::ExternalCommand.ensure_available!('xmllint', '--version')
15
15
 
16
16
  cmd = "xmllint #{context.website.config['content_processor.xmllint.options']} -"
17
- status, stdout, stderr = systemu(cmd, 'stdin' => context.content)
17
+ status, _stdout, stderr = systemu(cmd, 'stdin' => context.content)
18
18
  if status.exitstatus != 0
19
19
  stderr.scan(/^-:(\d+):(.*?\n)(.*?\n)/).each do |line, error_msg, line_context|
20
20
  context.website.logger.warn do
@@ -21,7 +21,7 @@ module Webgen
21
21
 
22
22
  # Return +true+ if the given path exists.
23
23
  def exists?(path)
24
- File.exists?(File.join(@root, path))
24
+ File.exist?(File.join(@root, path))
25
25
  end
26
26
 
27
27
  # Delete the given +path+
@@ -139,10 +139,10 @@ module Webgen
139
139
  website.execute_task(:generate_website)
140
140
  end
141
141
 
142
- task :clobber => paste('clobber_', @name)
142
+ task :clobber => "clobber_#{@name}".intern
143
143
 
144
144
  desc "Remove webgen products"
145
- task paste('clobber_', @name) do
145
+ task "clobber_#{@name}".intern do
146
146
  require 'webgen/website'
147
147
  require 'webgen/cli'
148
148
  website = Webgen::Website.new(@directory, Webgen::CLI::Logger.new($stdout), &@config_block)
@@ -28,7 +28,7 @@ module Webgen
28
28
  # Return all paths under the root path which match the glob.
29
29
  def paths
30
30
  @paths ||= Dir.glob(File.join(@root, @glob), File::FNM_DOTMATCH|File::FNM_CASEFOLD).collect do |f|
31
- next unless File.exists?(f) && f !~ /\/\.\.$/ # handle invalid links
31
+ next unless File.exist?(f) && f !~ /\/\.\.$/ # handle invalid links
32
32
  temp = Pathname.new(f.sub(/^#{Regexp.escape(@root)}\/?/, '/')).cleanpath.to_s
33
33
  temp += '/' if File.directory?(f) && temp[-1] != ?/
34
34
  Path.new(temp, 'modified_at' => File.mtime(f)) {|mode| File.open(f, mode)}
@@ -11,10 +11,10 @@ module Webgen
11
11
 
12
12
  # Include the specified file verbatim in the output, optionally escaping special HTML characters
13
13
  # and/or processing tags in it.
14
- def self.call(tag, body, context)
14
+ def self.call(tag, _body, context)
15
15
  filename = context[:config]['tag.include_file.filename']
16
16
  filename = File.join(context.website.directory, filename) unless filename =~ /^(\/|\w:)/
17
- if !File.exists?(filename)
17
+ if !File.exist?(filename)
18
18
  raise Webgen::RenderError.new("File '#{filename}' cannot be included because it does not exist",
19
19
  "tag.#{tag}", context.dest_node, context.ref_node)
20
20
  end
@@ -55,7 +55,7 @@ module Webgen
55
55
  #
56
56
  # Returns +true+ if the website has been created.
57
57
  def self.call(website, template = nil)
58
- if File.exists?(website.directory)
58
+ if File.exist?(website.directory)
59
59
  raise Error.new("Directory <#{website.directory}> does already exist!")
60
60
  end
61
61
  if template && !website.ext.task.data(:create_website)[:templates].has_key?(template)
@@ -64,18 +64,18 @@ module Webgen
64
64
 
65
65
  begin
66
66
  Dir.mktmpdir do |tmpdir|
67
- ws = Webgen::Website.new(tmpdir) do |ws|
68
- ws.config['sources'] = [['/', :file_system, File.join(Webgen::Utils.data_dir, 'basic_website_template')]]
67
+ ws = Webgen::Website.new(tmpdir) do |iws|
68
+ iws.config['sources'] = [['/', :file_system, File.join(Webgen::Utils.data_dir, 'basic_website_template')]]
69
69
  if template
70
- ws.config['sources'].unshift(['/', :file_system, website.ext.task.data(:create_website)[:templates][template]])
70
+ iws.config['sources'].unshift(['/', :file_system, website.ext.task.data(:create_website)[:templates][template]])
71
71
  end
72
- ws.config['destination'] = [:file_system, File.expand_path(website.directory)]
73
- ws.ext.path_handler.registered_extensions.each do |name, data|
72
+ iws.config['destination'] = [:file_system, File.expand_path(website.directory)]
73
+ iws.ext.path_handler.registered_extensions.each do |_name, data|
74
74
  data.patterns = []
75
75
  end
76
- ws.ext.path_handler.registered_extensions[:copy].patterns = ['**/*', '**/']
77
- ws.logger.level = ::Logger::INFO
78
- ws.logger.formatter = Proc.new do |severity, timestamp, progname, msg|
76
+ iws.ext.path_handler.registered_extensions[:copy].patterns = ['**/*', '**/']
77
+ iws.logger.level = ::Logger::INFO
78
+ iws.logger.formatter = Proc.new do |_severity, _timestamp, _progname, msg|
79
79
  website.logger.vinfo(msg) if msg =~ /\[create\]/
80
80
  end
81
81
  end
@@ -13,7 +13,7 @@ module Webgen
13
13
  unless defined?(@@data_dir)
14
14
  require 'rbconfig'
15
15
  @@data_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'data', 'webgen'))
16
- @@data_dir = File.expand_path(File.join(RbConfig::CONFIG["datadir"], "webgen")) if !File.exists?(@@data_dir)
16
+ @@data_dir = File.expand_path(File.join(RbConfig::CONFIG["datadir"], "webgen")) if !File.exist?(@@data_dir)
17
17
  raise "Could not find webgen data directory! This is a bug, report it please!" unless File.directory?(@@data_dir)
18
18
  end
19
19
  @@data_dir
@@ -72,7 +72,7 @@ class Rainpress
72
72
  #
73
73
  # We take care of Windows(\r\n), Unix(\n) and Mac(\r) newlines.
74
74
  def remove_newlines!
75
- @style.gsub! /\n|\r/, ''
75
+ @style.gsub!(/\n|\r/, '')
76
76
  end
77
77
 
78
78
  # Remove unneeded spaces
@@ -81,9 +81,9 @@ class Rainpress
81
81
  # 2. Remove spaces around ;:{},
82
82
  # 3. Remove tabs
83
83
  def remove_spaces!
84
- @style.gsub! /\s*(\s|;|:|\}|\{|,)\s*/, '\1'
85
- @style.gsub! "\t", ''
86
- end
84
+ @style.gsub!(/\s*(\s|;|:|\}|\{|,)\s*/, '\1')
85
+ @style.gsub!("\t", '')
86
+ end
87
87
 
88
88
  # Replace color values with their shorter equivalent
89
89
  #
@@ -94,9 +94,9 @@ class Rainpress
94
94
  # * black -> #000
95
95
  # 4. Replace #-values with their shorter name
96
96
  # * #f00 -> red
97
- def shorten_colors!
97
+ def shorten_colors!
98
98
  # rgb(50,101,152) to #326598
99
- @style.gsub! /rgb\s*\(\s*([0-9,\s]+)\s*\)/ do |match|
99
+ @style.gsub!(/rgb\s*\(\s*([0-9,\s]+)\s*\)/) do |match|
100
100
  out = '#'
101
101
  $1.split(',').each do |num|
102
102
  out += '0' if num.to_i < 16
@@ -105,7 +105,7 @@ class Rainpress
105
105
  out
106
106
  end
107
107
  # Convert #AABBCC to #ABC, keep if preceed by a '='
108
- @style.gsub! /([^\"'=\s])(\s*)#([\da-f])\3([\da-f])\4([\da-f])\5/i, '\1#\3\4\5'
108
+ @style.gsub!(/([^\"'=\s])(\s*)#([\da-f])\3([\da-f])\4([\da-f])\5/i, '\1#\3\4\5')
109
109
 
110
110
  # At the moment we assume that colours only appear before ';' or '}' and
111
111
  # after a ':', if there could be an occurence of a color before or after
@@ -114,55 +114,55 @@ class Rainpress
114
114
 
115
115
  # shorten several names to numbers
116
116
  ## shorten white -> #fff
117
- @style.gsub! /:\s*white\s*(;|\})/, ':#fff\1'
117
+ @style.gsub!(/:\s*white\s*(;|\})/, ':#fff\1')
118
118
 
119
119
  ## shorten black -> #000
120
- @style.gsub! /:\s*black\s*(;|\})/, ':#000\1'
120
+ @style.gsub!(/:\s*black\s*(;|\})/, ':#000\1')
121
121
 
122
122
  # shotern several numbers to names
123
123
  ## shorten #f00 or #ff0000 -> red
124
- @style.gsub! /:\s*#f{1,2}0{2,4}(;|\})/i, ':red\1'
124
+ @style.gsub!(/:\s*#f{1,2}0{2,4}(;|\})/i, ':red\1')
125
125
  end
126
126
 
127
127
  # Do miscellaneous compression methods on the style.
128
128
  def do_misc!
129
129
  # Replace 0(pt,px,em,%) with 0 but only when preceded by : or a white-space
130
- @style.gsub! /([\s:]+)(0)(px|em|%|in|cm|mm|pc|pt|ex)/i, '\1\2'
130
+ @style.gsub!(/([\s:]+)(0)(px|em|%|in|cm|mm|pc|pt|ex)/i, '\1\2')
131
131
 
132
132
  # Replace :0 0 0 0(;|}) with :0(;|})
133
- @style.gsub! /:0 0 0 0(;|\})/, ':0\1'
133
+ @style.gsub!(/:0 0 0 0(;|\})/, ':0\1')
134
134
 
135
135
  # Replace :0 0 0(;|}) with :0(;|})
136
- @style.gsub! /:0 0 0(;|\})/, ':0\1'
136
+ @style.gsub!(/:0 0 0(;|\})/, ':0\1')
137
137
 
138
138
  # Replace :0 0(;|}) with :0(;|})
139
- @style.gsub! /:0 0(;|\})/, ':0\1'
139
+ @style.gsub!(/:0 0(;|\})/, ':0\1')
140
140
 
141
141
  # Replace background-position:0; with background-position:0 0;
142
- @style.gsub! 'background-position:0;', 'background-position:0 0;'
142
+ @style.gsub!('background-position:0;', 'background-position:0 0;')
143
143
 
144
144
  # Replace 0.6 to .6, but only when preceded by : or a white-space
145
- @style.gsub! /[:\s]0+\.(\d+)/ do |match|
146
- match.sub '0', '' # only first '0' !!
145
+ @style.gsub!(/[:\s]0+\.(\d+)/) do |match|
146
+ match.sub('0', '') # only first '0' !!
147
147
  end
148
148
 
149
149
  # Replace multiple ';' with a single ';'
150
- @style.gsub! /[;]+/, ';'
150
+ @style.gsub!(/[;]+/, ';')
151
151
 
152
152
  # Replace ;} with }
153
- @style.gsub! ';}', '}'
153
+ @style.gsub!(';}', '}')
154
154
 
155
155
  # Replace font-weight:normal; with 400
156
- @style.gsub! /font-weight[\s]*:[\s]*normal[\s]*(;|\})/i,'font-weight:400\1'
157
- @style.gsub! /font[\s]*:[\s]*normal[\s;\}]*/ do |match|
158
- match.sub 'normal', '400'
156
+ @style.gsub!(/font-weight[\s]*:[\s]*normal[\s]*(;|\})/i,'font-weight:400\1')
157
+ @style.gsub!(/font[\s]*:[\s]*normal[\s;\}]*/) do |match|
158
+ match.sub('normal', '400')
159
159
  end
160
160
 
161
161
  # Replace font-weight:bold; with 700
162
- @style.gsub! /font-weight[\s]*:[\s]*bold[\s]*(;|\})/,'font-weight:700\1'
163
- @style.gsub! /font[\s]*:[\s]*bold[\s;\}]*/ do |match|
164
- match.sub 'bold', '700'
162
+ @style.gsub!(/font-weight[\s]*:[\s]*bold[\s]*(;|\})/,'font-weight:700\1')
163
+ @style.gsub!(/font[\s]*:[\s]*bold[\s;\}]*/) do |match|
164
+ match.sub('bold', '700')
165
165
  end
166
166
  end
167
167
 
168
- end
168
+ end
@@ -3,6 +3,6 @@
3
3
  module Webgen
4
4
 
5
5
  # The version of webgen.
6
- VERSION = '1.4.0'
6
+ VERSION = '1.4.1'
7
7
 
8
8
  end
@@ -11,8 +11,6 @@ class TestExtensionDocumentation < Minitest::Test
11
11
  def test_all_extensions_documented
12
12
  ws = Webgen::Website.new(File.join(Dir.tmpdir, '/abcdefgh'))
13
13
  documentation = ws.ext.bundle_infos.extensions.dup
14
- author = "Thomas Leitner <t_leitner@gmx.at>"
15
- docu_keys = Set.new(documentation.keys)
16
14
  ext_keys = Set.new(ws.ext.instance_eval { @table.keys })
17
15
 
18
16
  check_docu = lambda do |key|
@@ -47,7 +45,6 @@ class TestExtensionDocumentation < Minitest::Test
47
45
  def test_all_config_options_documented
48
46
  ws = Webgen::Website.new(File.join(Dir.tmpdir, '/abcdefgh'))
49
47
  documentation = ws.ext.bundle_infos.options.dup
50
- docu_keys = Set.new(documentation.keys)
51
48
 
52
49
  check_docu = lambda do |key|
53
50
  data = documentation.delete(key.to_s)
@@ -13,7 +13,7 @@ class TestLogger < Minitest::Test
13
13
  def test_log_output
14
14
  original = Webgen::CLI::Utils.use_colors
15
15
  Webgen::CLI::Utils.use_colors = false
16
- out, err = capture_io do
16
+ out, _err = capture_io do
17
17
  l = Webgen::CLI::Logger.new
18
18
  l.level = ::Logger::DEBUG
19
19
  l.info { "information" }
@@ -17,7 +17,7 @@ class TestHtmlHead < Minitest::Test
17
17
  def test_call
18
18
  context = Webgen::Context.new(@website, :chain => [@node])
19
19
  context.content = "</head>"
20
- de_node = Webgen::Node.new(@root, 'test', 'test.de', {'lang' => 'de'})
20
+ Webgen::Node.new(@root, 'test', 'test.de', {'lang' => 'de'})
21
21
  assert_equal("\n<link type=\"text/html\" rel=\"alternate\" hreflang=\"de\" href=\"test.de\" /></head>",
22
22
  @obj.call(context).content)
23
23
  end
@@ -11,7 +11,7 @@ class TestContentProcessorKramdown < Minitest::Test
11
11
  setup_context
12
12
  cp = Webgen::ContentProcessor::Kramdown
13
13
  root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
14
- hello = Webgen::Node.new(root, 'hello.html', '/hello.en.html')
14
+ Webgen::Node.new(root, 'hello.html', '/hello.en.html')
15
15
  @website.config['content_processor.kramdown.options'] = {:auto_ids => true}
16
16
  @website.config['content_processor.kramdown.handle_links'] = true
17
17
  @website.config['content_processor.kramdown.ignore_unknown_fragments'] = false
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/content_processor/ruby'
5
5
 
6
- class TestBuilder < Minitest::Test
6
+ class TestContentProcessorRuby < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -15,7 +15,7 @@ class TestSass < Minitest::Test
15
15
  cp = Webgen::ContentProcessor::Sass
16
16
 
17
17
  @context.content = "#main\n :background-color #000"
18
- result = "#main {\n background-color: black; }\n"
18
+ result = "#main {\n background-color: #000; }\n"
19
19
  assert_equal(result, cp.call(@context).content)
20
20
 
21
21
  @context.content = "#cont\n = 5"
@@ -33,7 +33,7 @@ class TestSass < Minitest::Test
33
33
  partial2 = Webgen::Node.new(dirdir, '_other.scss', '/dir/dir/_other.scss')
34
34
  partial2.node_info[:path] = Webgen::Path.new('test') { StringIO.new('#id { color:white; }') }
35
35
  dir2 = Webgen::Node.new(root, 'dir2/', '/dir2/')
36
- file = Webgen::Node.new(dir2, 'file.test', '/dir2/file.test')
36
+ Webgen::Node.new(dir2, 'file.test', '/dir2/file.test')
37
37
 
38
38
  @context[:chain] = [sass]
39
39
  @context.content = "@import 'unknown'"
@@ -34,7 +34,7 @@ class TestContentProcessorTags < Minitest::Test
34
34
 
35
35
  stag.set_block do |tag, params, body, local_context|
36
36
  assert_equal('test', tag)
37
- assert_equal(nil, params)
37
+ assert_nil(params)
38
38
  assert_equal('', body)
39
39
  assert_equal(@context, local_context)
40
40
  end
@@ -15,9 +15,9 @@ class TestContentProcessorTikz < Minitest::Test
15
15
  @website.ext.content_processor.register('Blocks')
16
16
  @website.ext.content_processor.register('Erb')
17
17
  template_data = File.read(File.join(Webgen::Utils.data_dir, 'passive_sources', 'templates', 'tikz.template'))
18
- node = RenderNode.new(template_data, @website.tree.dummy_root, '/template', '/template')
18
+ RenderNode.new(template_data, @website.tree.dummy_root, '/template', '/template')
19
19
 
20
- @context.node.define_singleton_method(:[]) {|ignored| nil}
20
+ @context.node.define_singleton_method(:[]) {|_ignored| nil}
21
21
 
22
22
  call('\tikz \draw (0,0) -- (0,1);', 'test.png', [], '', '72 72', false)
23
23
  Timeout.timeout(0.2) { call('\tikz \draw (0,0) -- (0,1);', 'test.png', [], '', '72 72', false) } # test cache
@@ -31,6 +31,9 @@ class TestContentProcessorTikz < Minitest::Test
31
31
 
32
32
  def call(content, path, libs, opts, res, trans)
33
33
  @context.content = content
34
+ if @context.dest_node.singleton_class.method_defined?(:dest_path)
35
+ @context.dest_node.singleton_class.send(:remove_method, :dest_path)
36
+ end
34
37
  @context.dest_node.define_singleton_method(:dest_path) {path}
35
38
  @context.website.config.update('content_processor.tikz.resolution' => res,
36
39
  'content_processor.tikz.transparent' => trans,
@@ -15,7 +15,7 @@ class TestPathHandlerApi < Minitest::Test
15
15
 
16
16
  @api = Webgen::PathHandler::Api.new(@website)
17
17
 
18
- root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
18
+ Webgen::Node.new(@website.tree.dummy_root, '/', '/')
19
19
 
20
20
  @page_file = File.dirname(__FILE__) + "/../../../API.rdoc"
21
21
  @path = Webgen::Path.new('/test.api', 'dest_path' => '<parent><basename><ext>',
@@ -100,7 +100,7 @@ class TestPathHandlerBase < Minitest::Test
100
100
 
101
101
  check_dest_path.call('/', mi, '/', @website.tree.dummy_root)
102
102
 
103
- index_en = Webgen::Node.new(node, 'index.page', '/index.html', {'lang' => 'en'})
103
+ Webgen::Node.new(node, 'index.page', '/index.html', {'lang' => 'en'})
104
104
  check_dest_path.call('/index.en.html', mi, '/index.html')
105
105
  check_dest_path.call('/index.en.html', {'dest_path' => "<parent>hallo.html"}, '/hallo.html')
106
106
  check_dest_path.call('/other.de.html', {'dest_path' => "<parent>index(.<lang>)<ext>"}, '/index.de.html')
@@ -144,7 +144,7 @@ class TestPathHandlerBase < Minitest::Test
144
144
  assert_equal(false, @obj.node_exists?(Webgen::Path.new('/somename.en.html', {'no_output' => true}),
145
145
  '/somename.html'))
146
146
  assert_equal(frag_de, @obj.node_exists?(Webgen::Path.new('/somename.de.html#othertest'), '/somename.html#no'))
147
- assert_equal(nil, @obj.node_exists?(Webgen::Path.new('/unknown'), '/unknown'))
147
+ assert_nil(@obj.node_exists?(Webgen::Path.new('/unknown'), '/unknown'))
148
148
  end
149
149
 
150
150
  def test_base_node_methods
@@ -27,7 +27,7 @@ class TestPathHandlerCopy < Minitest::Test
27
27
  check_node = lambda do |src_path, mi, dest_path, pipeline|
28
28
  node = @copy.create_nodes(Webgen::Path.new(src_path, {'dest_path' => '<parent><basename><ext>'}.merge(mi)))
29
29
  refute_nil(node)
30
- assert_equal(pipeline, node.meta_info['pipeline'])
30
+ assert(pipeline == node.meta_info['pipeline'])
31
31
  assert_equal(dest_path, node.dest_path)
32
32
  end
33
33
 
@@ -11,7 +11,7 @@ class TestPathHandlerTemplate < Minitest::Test
11
11
 
12
12
  def test_create_nodes
13
13
  setup_website
14
- root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
14
+ Webgen::Node.new(@website.tree.dummy_root, '/', '/')
15
15
  @template = Webgen::PathHandler::Template.new(@website)
16
16
 
17
17
  path = Webgen::Path.new('/default.template', 'dest_path' => '<parent><basename><ext>') { StringIO.new('test') }
@@ -76,7 +76,7 @@ EOF
76
76
  def test_create_node
77
77
  @time = Time.now
78
78
  path = Webgen::Path.new('/virtual', 'dest_path' => '<parent><basename>(.<lang>)<ext>', 'modified_at' => @time)
79
- nodes = @virtual.create_nodes(path, Webgen::Page.from_data(CONTENT).blocks)
79
+ @virtual.create_nodes(path, Webgen::Page.from_data(CONTENT).blocks)
80
80
 
81
81
  node_de = @root.tree['/path.de.html']
82
82
  node_en = @root.tree['/directory/path.en.html']
@@ -22,7 +22,7 @@ class TestTagBreadcrumbTrail < Minitest::Test
22
22
  {'lang' => 'en', 'routed_title' => 'Dir11', 'title' => 'Index'})
23
23
  file11_en = Webgen::Node.new(dir11, 'file111.html', '/dir1/dir11/file111.html',
24
24
  {'lang' => 'en', 'title' => 'File111'})
25
- index_en = Webgen::Node.new(root, 'index.html', '/index.html', {'lang' => 'en'})
25
+ Webgen::Node.new(root, 'index.html', '/index.html', {'lang' => 'en'})
26
26
  setup_tag_template(root)
27
27
 
28
28
  context[:chain] = [file11_en]
@@ -17,7 +17,7 @@ class TestTagLangbar < Minitest::Test
17
17
 
18
18
  root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
19
19
  node = Webgen::Node.new(root, 'file.html', '/file.html', {'lang' => 'en'})
20
- de_node = Webgen::Node.new(root, 'file.html', '/file.de.html', {'lang' => 'de'})
20
+ Webgen::Node.new(root, 'file.html', '/file.de.html', {'lang' => 'de'})
21
21
  other = Webgen::Node.new(root, 'other.html', '/other.html', {'lang' => 'en'})
22
22
  setup_tag_template(root)
23
23
 
@@ -37,11 +37,11 @@ class TestCache < Minitest::Test
37
37
  @cache.volatile[:key] = :value
38
38
  assert_equal(:value, @cache.volatile[:key])
39
39
  dump_and_restore
40
- assert_equal(nil, @cache.volatile[:key])
40
+ assert_nil(@cache.volatile[:key])
41
41
 
42
42
  @cache.volatile[:key] = :value
43
43
  @cache.reset_volatile_cache
44
- assert_equal(nil, @cache.volatile[:key])
44
+ assert_nil(@cache.volatile[:key])
45
45
  end
46
46
 
47
47
  end
@@ -17,7 +17,7 @@ class TestCLICommandParser < Minitest::Test
17
17
 
18
18
  def test_initialize
19
19
  assert_equal(Logger::INFO, @cli.log_level)
20
- assert_equal(nil, @cli.directory)
20
+ assert_nil(@cli.directory)
21
21
  end
22
22
 
23
23
  def test_website
@@ -27,7 +27,7 @@ class TestCLICommandParser < Minitest::Test
27
27
 
28
28
  def test_parse
29
29
  @cli.website.ext.cli.add_command(SampleCommand.new)
30
- out, err = capture_io do
30
+ out, _err = capture_io do
31
31
  begin
32
32
  @cli.parse(['help'])
33
33
  assert_equal(Dir.pwd, @cli.directory)
@@ -42,7 +42,7 @@ class TestDestination < Minitest::Test
42
42
 
43
43
  @website.expect(:config, {'destination' => 'unknown'})
44
44
  @dest.instance_eval { instance } # nothing should be raised
45
- @website.verify
45
+ #@website.verify
46
46
  end
47
47
 
48
48
  end
@@ -18,7 +18,7 @@ class TestNode < Minitest::Test
18
18
  assert_equal(cn, node.cn)
19
19
  assert_equal(lcn, node.lcn)
20
20
  assert_equal(alcn, node.alcn)
21
- assert_equal(lang, node.lang)
21
+ assert(lang == node.lang)
22
22
  assert_kind_of(Webgen::Language, node.lang) if node.lang
23
23
  assert_equal(mi, node.meta_info)
24
24
  assert_equal({}, node.node_info)
@@ -70,13 +70,13 @@ class TestPath < Minitest::Test
70
70
  assert_kind_of(String, o.path)
71
71
  assert_equal(ppath, o.parent_path)
72
72
  assert_equal(bn, o.basename)
73
- assert_equal(lang, o.meta_info['lang'])
73
+ assert(lang == o.meta_info['lang'])
74
74
  assert_equal(ext, o.ext)
75
75
  assert_equal(cn, o.cn)
76
76
  assert_equal(lcn, o.lcn)
77
77
  assert_equal(acn, o.acn)
78
78
  assert_equal(alcn, o.alcn)
79
- assert_equal(oi, o.meta_info['sort_info'])
79
+ assert(oi == o.meta_info['sort_info'])
80
80
  assert_equal(title, o.meta_info['title'])
81
81
  end
82
82
 
@@ -13,7 +13,7 @@ class TestTree < Minitest::Test
13
13
  end
14
14
 
15
15
  def test_initialize
16
- refute_equal(nil, @tree.dummy_root)
16
+ refute_nil(@tree.dummy_root)
17
17
  assert_equal('', @tree.dummy_root.alcn)
18
18
  end
19
19
 
@@ -29,8 +29,8 @@ class TestTree < Minitest::Test
29
29
  assert_equal(@tree['/file.de.html'], @tree.translate_node(@tree['/file.en.html'], 'de'))
30
30
  assert_equal(@tree['/file.en.html'], @tree.translate_node(@tree['/file.en.html'], 'en'))
31
31
  assert_equal(@tree['/file.en.html'], @tree.translate_node(@tree['/file.de.html'], 'en'))
32
- assert_equal(nil, @tree.translate_node(@tree['/file.de.html'], 'fr'))
33
- assert_equal(nil, @tree.translate_node(@tree['/file.en.html'], nil))
32
+ assert_nil(@tree.translate_node(@tree['/file.de.html'], 'fr'))
33
+ assert_nil(@tree.translate_node(@tree['/file.en.html'], nil))
34
34
 
35
35
  assert_equal(@tree['/other.en.html'], @tree.translate_node(@tree['/other.html'], 'en'))
36
36
  assert_equal(@tree['/other.html'], @tree.translate_node(@tree['/other.html'], 'de'))
@@ -38,7 +38,7 @@ class TestTree < Minitest::Test
38
38
  assert_equal(@tree['/other.html'], @tree.translate_node(@tree['/other.en.html'], nil))
39
39
  assert_equal(@tree['/other.html'], @tree.translate_node(@tree['/other.en.html'], 'de'))
40
40
 
41
- assert_equal(nil, @tree.translate_node(@tree['/file.en.html#frag'], nil))
41
+ assert_nil(@tree.translate_node(@tree['/file.en.html#frag'], nil))
42
42
  assert_equal(@tree['/file.en.html#frag'], @tree.translate_node(@tree['/file.en.html#frag'], 'en'))
43
43
  assert_equal(@tree['/file.de.html#frag'], @tree.translate_node(@tree['/file.en.html#frag'], 'de'))
44
44
  end
@@ -54,29 +54,29 @@ class TestTree < Minitest::Test
54
54
  setup_default_nodes(@tree)
55
55
 
56
56
  [@tree['/'], @tree['/file.de.html'], @tree['/file.en.html'], @tree['/other.html']].each do |n|
57
- assert_equal(nil, n.resolve('file.html', nil))
57
+ assert_nil(n.resolve('file.html', nil))
58
58
  assert_equal(@tree['/file.en.html'], n.resolve('file.html', 'en'))
59
59
  assert_equal(@tree['/file.de.html'], n.resolve('file.html', 'de'))
60
- assert_equal(nil, n.resolve('file.html', 'fr'))
60
+ assert_nil(n.resolve('file.html', 'fr'))
61
61
  assert_equal(@tree['/file.en.html'], n.resolve('file.en.html', nil))
62
62
  assert_equal(@tree['/file.en.html'], n.resolve('file.en.html', 'en'))
63
63
  assert_equal(@tree['/file.en.html'], n.resolve('file.en.html', 'de'))
64
- assert_equal(nil, n.resolve('somename.fr.html', 'de'))
64
+ assert_nil(n.resolve('somename.fr.html', 'de'))
65
65
 
66
66
  assert_equal(@tree['/other.html'], n.resolve('other.html', nil))
67
67
  assert_equal(@tree['/other.html'], n.resolve('other.html', 'fr'))
68
68
  assert_equal(@tree['/other.en.html'], n.resolve('other.html', 'en'))
69
69
  assert_equal(@tree['/other.en.html'], n.resolve('other.en.html', nil))
70
70
  assert_equal(@tree['/other.en.html'], n.resolve('other.en.html', 'de'))
71
- assert_equal(nil, n.resolve('other.fr.html', nil))
72
- assert_equal(nil, n.resolve('other.fr.html', 'en'))
71
+ assert_nil(n.resolve('other.fr.html', nil))
72
+ assert_nil(n.resolve('other.fr.html', 'en'))
73
73
  end
74
74
 
75
75
  assert_equal(@tree['/file.en.html#frag'], @tree['/file.en.html'].resolve('#frag', 'de'))
76
76
  assert_equal(@tree['/file.en.html#frag'], @tree['/file.en.html'].resolve('#frag', nil))
77
77
  assert_equal(@tree['/file.en.html#nested'], @tree['/file.en.html'].resolve('#nested', nil))
78
78
 
79
- assert_equal(nil, @tree.resolve_node('/file.html#frag', nil))
79
+ assert_nil(@tree.resolve_node('/file.html#frag', nil))
80
80
  assert_equal(@tree['/file.en.html#frag'], @tree.resolve_node('/file.html#frag', 'en'))
81
81
  assert_equal(@tree['/file.de.html#frag'], @tree.resolve_node('/file.html#frag', 'de'))
82
82
  assert_equal(@tree['/file.en.html#frag'], @tree.resolve_node('/file.en.html#frag', nil))
@@ -91,9 +91,9 @@ class TestTree < Minitest::Test
91
91
 
92
92
  nrcalls = 0
93
93
  @website.blackboard.add_listener(:node_resolution_failed) { nrcalls += 1 }
94
- assert_equal(nil, @tree['/'].resolve('other.fr.html', nil, false))
94
+ assert_nil(@tree['/'].resolve('other.fr.html', nil, false))
95
95
  assert_equal(0, nrcalls)
96
- assert_equal(nil, @tree['/'].resolve('other.fr.html', nil, true))
96
+ assert_nil(@tree['/'].resolve('other.fr.html', nil, true))
97
97
  assert_equal(1, nrcalls)
98
98
  end
99
99
 
@@ -116,7 +116,7 @@ class TestTree < Minitest::Test
116
116
 
117
117
  root = Webgen::Node.new(@tree.dummy_root, '/', '/')
118
118
  file = Webgen::Node.new(root, 'testfile', 'testfile')
119
- dir = Webgen::Node.new(root, 'testdir/', 'testdir')
119
+ Webgen::Node.new(root, 'testdir/', 'testdir')
120
120
  virtual_root = Webgen::Node.new(root, 'vroot', '/', 'no_output' => true)
121
121
 
122
122
  @tree.delete_node(@tree.dummy_root)
@@ -65,7 +65,7 @@ class TestTagParser < Minitest::Test
65
65
  i = 0
66
66
  check_proc = proc do |tag, params, body|
67
67
  assert_equal(data[i][0], tag, 'error on tag with content: ' + content)
68
- assert_equal(data[i][1], params, 'error on params with content: ' + content)
68
+ assert(data[i][1] == params, 'error on params with content: ' + content)
69
69
  assert_equal(data[i][2], body, 'error on body with content: ' + content)
70
70
  i += 1
71
71
  'test' + i.to_s
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Leitner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-14 00:00:00.000000000 Z
11
+ date: 2017-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cmdparse
@@ -501,7 +501,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
501
501
  version: '0'
502
502
  requirements: []
503
503
  rubyforge_project:
504
- rubygems_version: 2.4.5
504
+ rubygems_version: 2.6.8
505
505
  signing_key:
506
506
  specification_version: 4
507
507
  summary: webgen is a fast, powerful, and extensible static website generator.