nanoc 3.7.5 → 3.8.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.
- checksums.yaml +4 -4
- data/ChangeLog +2 -2
- data/Gemfile +1 -1
- data/NEWS.md +24 -3
- data/README.md +1 -1
- data/bin/nanoc +1 -1
- data/lib/nanoc/base/compilation/dependency_tracker.rb +1 -1
- data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +1 -1
- data/lib/nanoc/base/compilation/rule.rb +15 -1
- data/lib/nanoc/base/result_data/item_rep.rb +27 -10
- data/lib/nanoc/base/source_data/item_array.rb +2 -0
- data/lib/nanoc/base/source_data/site.rb +1 -0
- data/lib/nanoc/cli.rb +16 -7
- data/lib/nanoc/cli/commands/autocompile.rb +1 -1
- data/lib/nanoc/cli/commands/create-site.rb +2 -2
- data/lib/nanoc/cli/commands/show-rules.rb +3 -6
- data/lib/nanoc/cli/commands/watch.rb +3 -3
- data/lib/nanoc/cli/error_handler.rb +1 -1
- data/lib/nanoc/cli/logger.rb +3 -5
- data/lib/nanoc/data_sources/filesystem.rb +2 -2
- data/lib/nanoc/extra/auto_compiler.rb +1 -1
- data/lib/nanoc/extra/checking/checks.rb +2 -0
- data/lib/nanoc/extra/checking/checks/mixed_content.rb +31 -0
- data/lib/nanoc/extra/deployers/fog.rb +24 -0
- data/lib/nanoc/extra/link_collector.rb +42 -9
- data/lib/nanoc/extra/pruner.rb +1 -1
- data/lib/nanoc/filters/colorize_syntax.rb +4 -4
- data/lib/nanoc/filters/pandoc.rb +23 -4
- data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +4 -2
- data/lib/nanoc/helpers/blogging.rb +17 -6
- data/lib/nanoc/helpers/tagging.rb +1 -1
- data/lib/nanoc/helpers/text.rb +1 -1
- data/lib/nanoc/version.rb +1 -1
- data/tasks/test.rake +1 -1
- data/test/base/test_item_array.rb +8 -0
- data/test/base/test_item_rep.rb +51 -0
- data/test/base/test_item_rep_recorder_proxy.rb +19 -0
- data/test/base/test_rule.rb +10 -0
- data/test/cli/commands/test_create_site.rb +13 -0
- data/test/cli/test_cli.rb +30 -0
- data/test/extra/checking/checks/test_mixed_content.rb +188 -0
- data/test/extra/deployers/test_fog.rb +32 -0
- data/test/filters/test_pandoc.rb +17 -3
- data/test/filters/test_sass.rb +11 -0
- data/test/helper.rb +3 -3
- data/test/helpers/test_blogging.rb +30 -0
- metadata +6 -3
@@ -18,6 +18,19 @@ class Nanoc::CLI::Commands::CreateSiteTest < Nanoc::TestCase
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def test_can_compile_new_site_with_binary_items
|
22
|
+
Nanoc::CLI.run %w( create_site foo )
|
23
|
+
|
24
|
+
FileUtils.cd('foo') do
|
25
|
+
File.open('content/blah', 'w') { |io| io << 'asdf' }
|
26
|
+
site = Nanoc::Site.new('.')
|
27
|
+
site.load_data
|
28
|
+
site.compile
|
29
|
+
|
30
|
+
assert File.file?('output/blah')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
21
34
|
def test_default_encoding
|
22
35
|
unless defined?(Encoding)
|
23
36
|
skip 'No Encoding class'
|
data/test/cli/test_cli.rb
CHANGED
@@ -74,6 +74,36 @@ EOS
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
+
def test_load_custom_commands_non_default_commands_dirs
|
78
|
+
Nanoc::CLI.run %w( create_site foo )
|
79
|
+
FileUtils.cd('foo') do
|
80
|
+
File.open('nanoc.yaml', 'w') { |io| io.write('commands_dirs: [commands, commands_alt]') }
|
81
|
+
|
82
|
+
# Create command
|
83
|
+
FileUtils.mkdir_p('commands_alt')
|
84
|
+
File.open('commands_alt/_test.rb', 'w') do |io|
|
85
|
+
io.write(COMMAND_CODE)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Create subcommand
|
89
|
+
FileUtils.mkdir_p('commands_alt/_test')
|
90
|
+
File.open('commands_alt/_test/_sub.rb', 'w') do |io|
|
91
|
+
io.write(SUBCOMMAND_CODE)
|
92
|
+
end
|
93
|
+
|
94
|
+
# Run command
|
95
|
+
begin
|
96
|
+
Nanoc::CLI.run %w( _test _sub )
|
97
|
+
rescue SystemExit
|
98
|
+
assert false, 'Running _test sub should not cause system exit'
|
99
|
+
end
|
100
|
+
|
101
|
+
# Check
|
102
|
+
assert File.file?('_test_sub.out')
|
103
|
+
assert_equal 'It works sub!', File.read('_test_sub.out')
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
77
107
|
def test_load_custom_commands_broken
|
78
108
|
Nanoc::CLI.run %w( create_site foo )
|
79
109
|
|
@@ -0,0 +1,188 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Nanoc::Extra::Checking::Checks::MixedContentTest < Nanoc::TestCase
|
4
|
+
def create_output_file(name, lines)
|
5
|
+
FileUtils.mkdir_p('output')
|
6
|
+
File.open('output/' + name, 'w') { |io|
|
7
|
+
io.write(lines.join('\n'))
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
def assert_include(haystack, needle)
|
12
|
+
assert haystack.include?(needle), "Expected to find '#{needle}' in #{haystack}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_https_content
|
16
|
+
with_site do |site|
|
17
|
+
create_output_file('foo.html', [
|
18
|
+
'<img src="https://nanoc.ws/logo.png" />',
|
19
|
+
'<img src="HTTPS://nanoc.ws/logo.png" />',
|
20
|
+
'<link href="https://nanoc.ws/style.css" />',
|
21
|
+
'<script src="https://nanoc.ws/app.js"></script>',
|
22
|
+
'<form action="https://nanoc.ws/process.cgi"></form>',
|
23
|
+
'<iframe src="https://nanoc.ws/preview.html"></iframe>',
|
24
|
+
'<audio src="https://nanoc.ws/theme-song.flac"></audio>',
|
25
|
+
'<video src="https://nanoc.ws/screen-cast.mkv"></video>'
|
26
|
+
])
|
27
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
28
|
+
check.run
|
29
|
+
|
30
|
+
assert check.issues.empty?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_root_relative_content
|
35
|
+
with_site do |site|
|
36
|
+
create_output_file('foo.html', [
|
37
|
+
'<img src="/logo.png" />',
|
38
|
+
'<link href="/style.css" />',
|
39
|
+
'<script src="/app.js"></script>',
|
40
|
+
'<form action="/process.cgi"></form>',
|
41
|
+
'<iframe src="/preview.html"></iframe>',
|
42
|
+
'<audio src="/theme-song.flac"></audio>',
|
43
|
+
'<video src="/screen-cast.mkv"></video>'
|
44
|
+
])
|
45
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
46
|
+
check.run
|
47
|
+
|
48
|
+
assert check.issues.empty?
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_protocol_relative_content
|
53
|
+
with_site do |site|
|
54
|
+
create_output_file('foo.html', [
|
55
|
+
'<img src="//nanoc.ws/logo.png" />',
|
56
|
+
'<link href="//nanoc.ws/style.css" />',
|
57
|
+
'<script src="//nanoc.ws/app.js"></script>',
|
58
|
+
'<form action="//nanoc.ws/process.cgi"></form>',
|
59
|
+
'<iframe src="//nanoc.ws/preview.html"></iframe>',
|
60
|
+
'<audio src="//nanoc.ws/theme-song.flac"></audio>',
|
61
|
+
'<video src="//nanoc.ws/screen-cast.mkv"></video>'
|
62
|
+
])
|
63
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
64
|
+
check.run
|
65
|
+
|
66
|
+
assert check.issues.empty?
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_document_relative_content
|
71
|
+
with_site do |site|
|
72
|
+
create_output_file('foo.html', [
|
73
|
+
'<img src="logo.png" />',
|
74
|
+
'<link href="style.css" />',
|
75
|
+
'<script src="app.js"></script>',
|
76
|
+
'<form action="process.cgi"></form>',
|
77
|
+
'<iframe src="preview.html"></iframe>',
|
78
|
+
'<audio src="theme-song.flac"></audio>',
|
79
|
+
'<video src="screen-cast.mkv"></video>'
|
80
|
+
])
|
81
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
82
|
+
check.run
|
83
|
+
|
84
|
+
assert check.issues.empty?
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_query_relative_content
|
89
|
+
with_site do |site|
|
90
|
+
create_output_file('foo.html', [
|
91
|
+
'<img src="?query-string" />',
|
92
|
+
'<link href="?query-string" />',
|
93
|
+
'<script src="?query-string"></script>',
|
94
|
+
'<form action="?query-string"></form>',
|
95
|
+
'<iframe src="?query-string"></iframe>',
|
96
|
+
'<audio src="?query-string"></audio>',
|
97
|
+
'<video src="?query-string"></video>'
|
98
|
+
])
|
99
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
100
|
+
check.run
|
101
|
+
|
102
|
+
assert check.issues.empty?
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
def test_fragment_relative_content
|
107
|
+
with_site do |site|
|
108
|
+
create_output_file('foo.html', [
|
109
|
+
'<img src="#fragment" />',
|
110
|
+
'<link href="#fragment" />',
|
111
|
+
'<script src="#fragment"></script>',
|
112
|
+
'<form action="#fragment"></form>',
|
113
|
+
'<iframe src="#fragment"></iframe>',
|
114
|
+
'<audio src="#fragment"></audio>',
|
115
|
+
'<video src="#fragment"></video>'
|
116
|
+
])
|
117
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
118
|
+
check.run
|
119
|
+
|
120
|
+
assert check.issues.empty?
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_http_content
|
125
|
+
with_site do |site|
|
126
|
+
create_output_file('foo.html', [
|
127
|
+
'<img src="http://nanoc.ws/logo.png" />',
|
128
|
+
'<img src="HTTP://nanoc.ws/logo.png" />',
|
129
|
+
'<link href="http://nanoc.ws/style.css" />',
|
130
|
+
'<script src="http://nanoc.ws/app.js"></script>',
|
131
|
+
'<form action="http://nanoc.ws/process.cgi"></form>',
|
132
|
+
'<iframe src="http://nanoc.ws/preview.html"></iframe>',
|
133
|
+
'<audio src="http://nanoc.ws/theme-song.flac"></audio>',
|
134
|
+
'<video src="http://nanoc.ws/screencast.mkv"></video>'
|
135
|
+
])
|
136
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
137
|
+
check.run
|
138
|
+
|
139
|
+
issues = check.issues.to_a
|
140
|
+
assert_equal 8, issues.count
|
141
|
+
|
142
|
+
descriptions = issues.map { |issue| issue.description }
|
143
|
+
issues.each do |issue|
|
144
|
+
assert_equal 'output/foo.html', issue.subject
|
145
|
+
end
|
146
|
+
|
147
|
+
# The order of the reported issues is not important, so use this class's
|
148
|
+
# `assert_include` helper to avoid asserting those details
|
149
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/logo.png'
|
150
|
+
|
151
|
+
assert_include descriptions, 'mixed content include: HTTP://nanoc.ws/logo.png'
|
152
|
+
|
153
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/style.css'
|
154
|
+
|
155
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/app.js'
|
156
|
+
|
157
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/process.cgi'
|
158
|
+
|
159
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/preview.html'
|
160
|
+
|
161
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/theme-song.flac'
|
162
|
+
|
163
|
+
assert_include descriptions, 'mixed content include: http://nanoc.ws/screencast.mkv'
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_inert_content
|
168
|
+
with_site do |site|
|
169
|
+
create_output_file('foo.html', [
|
170
|
+
'<a href="http://nanoc.ws">The homepage</a>',
|
171
|
+
'<a name="Not a link">Content</a>',
|
172
|
+
'<script>// inline JavaScript</script>',
|
173
|
+
'<img href="http://nanoc.ws/logo.png" />',
|
174
|
+
'<link src="http://nanoc.ws/style.css" />',
|
175
|
+
'<script href="http://nanoc.ws/app.js"></script>',
|
176
|
+
'<form src="http://nanoc.ws/process.cgi"></form>',
|
177
|
+
'<iframe href="http://nanoc.ws/preview.html"></iframe>',
|
178
|
+
'<audio href="http://nanoc.ws/theme-song.flac"></audio>',
|
179
|
+
'<video target="http://nanoc.ws/screen-cast.mkv"></video>',
|
180
|
+
'<p>http://nanoc.ws/harmless-text</p>'
|
181
|
+
])
|
182
|
+
check = Nanoc::Extra::Checking::Checks::MixedContent.new(site)
|
183
|
+
check.run
|
184
|
+
|
185
|
+
assert check.issues.empty?
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
@@ -61,6 +61,38 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
def test_run_cdn_with_dry_run
|
65
|
+
if_have 'fog' do
|
66
|
+
begin
|
67
|
+
# Create deployer
|
68
|
+
fog = Nanoc::Extra::Deployers::Fog.new(
|
69
|
+
'output/',
|
70
|
+
{
|
71
|
+
:provider => 'aws',
|
72
|
+
:cdn_id => 'id-cdn',
|
73
|
+
# FIXME bucket is necessary for deployer but fog doesn't like it
|
74
|
+
:bucket_name => 'doesntmatter',
|
75
|
+
:aws_access_key_id => 'meh',
|
76
|
+
:aws_secret_access_key => 'dontcare'},
|
77
|
+
:dry_run => true)
|
78
|
+
|
79
|
+
# Create site
|
80
|
+
FileUtils.mkdir_p('output')
|
81
|
+
File.open('output/meow', 'w') { |io| io.write "I am a cat!" }
|
82
|
+
File.open('output/bark', 'w') { |io| io.write "I am a dog!" }
|
83
|
+
|
84
|
+
# Create local cloud (but not bucket)
|
85
|
+
FileUtils.mkdir_p('mylocalcloud')
|
86
|
+
|
87
|
+
# Run
|
88
|
+
fog.run
|
89
|
+
ensure
|
90
|
+
# Hack :(
|
91
|
+
::Fog.instance_eval { @mocking = false }
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
64
96
|
def test_run_delete_stray
|
65
97
|
if_have 'fog' do
|
66
98
|
# Create deployer
|
data/test/filters/test_pandoc.rb
CHANGED
@@ -14,7 +14,7 @@ class Nanoc::Filters::PandocTest < Nanoc::TestCase
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def test_params_old
|
18
18
|
if_have 'pandoc-ruby' do
|
19
19
|
skip_unless_have_command 'pandoc'
|
20
20
|
|
@@ -22,8 +22,22 @@ class Nanoc::Filters::PandocTest < Nanoc::TestCase
|
|
22
22
|
filter = ::Nanoc::Filters::Pandoc.new
|
23
23
|
|
24
24
|
# Run filter
|
25
|
-
|
26
|
-
result = filter.setup_and_run("# Heading\n",
|
25
|
+
args = { f: :markdown, to: :html }
|
26
|
+
result = filter.setup_and_run("# Heading\n", args)
|
27
|
+
assert_match(%r{<h1 id=\"heading\">Heading</h1>\s*}, result)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_params_new
|
32
|
+
if_have 'pandoc-ruby' do
|
33
|
+
skip_unless_have_command 'pandoc'
|
34
|
+
|
35
|
+
# Create filter
|
36
|
+
filter = ::Nanoc::Filters::Pandoc.new
|
37
|
+
|
38
|
+
# Run filter
|
39
|
+
args = [:s, { f: :markdown, to: :html }, 'no-wrap', :toc]
|
40
|
+
result = filter.setup_and_run("# Heading\n", args: args)
|
27
41
|
assert_match '<div id="TOC">', result
|
28
42
|
assert_match(%r{<h1 id=\"heading\">Heading</h1>\s*}, result)
|
29
43
|
end
|
data/test/filters/test_sass.rb
CHANGED
@@ -270,6 +270,17 @@ class Nanoc::Filters::SassTest < Nanoc::TestCase
|
|
270
270
|
end
|
271
271
|
end
|
272
272
|
|
273
|
+
def test_sass_without_filter
|
274
|
+
if_have 'sass' do
|
275
|
+
File.open('_morestuff.sass', 'w') do |io|
|
276
|
+
io.write("p\n color: blue")
|
277
|
+
end
|
278
|
+
|
279
|
+
options = { :filename => File.join(Dir.getwd, 'test.sass') }
|
280
|
+
::Sass::Engine.new('@import "morestuff"', options).render
|
281
|
+
end
|
282
|
+
end
|
283
|
+
|
273
284
|
private
|
274
285
|
|
275
286
|
def create_filter(params = {})
|
data/test/helper.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
require File.dirname(__FILE__) + '/gem_loader.rb'
|
5
5
|
|
6
6
|
# Load unit testing stuff
|
7
|
-
require 'minitest/
|
7
|
+
require 'minitest/test'
|
8
8
|
require 'minitest/spec'
|
9
9
|
require 'minitest/mock'
|
10
10
|
require 'mocha/setup'
|
@@ -256,12 +256,12 @@ EOS
|
|
256
256
|
end
|
257
257
|
end
|
258
258
|
|
259
|
-
class Nanoc::TestCase <
|
259
|
+
class Nanoc::TestCase < Minitest::Test
|
260
260
|
include Nanoc::TestHelpers
|
261
261
|
end
|
262
262
|
|
263
263
|
# Unexpected system exit is unexpected
|
264
|
-
::
|
264
|
+
::Minitest::Test::PASSTHROUGH_EXCEPTIONS.delete(SystemExit)
|
265
265
|
|
266
266
|
# A more precise inspect method for Time improves assert failure messages.
|
267
267
|
#
|
@@ -503,6 +503,36 @@ class Nanoc::Helpers::BloggingTest < Nanoc::TestCase
|
|
503
503
|
end
|
504
504
|
end
|
505
505
|
|
506
|
+
def test_atom_feed_preserve_order
|
507
|
+
if_have 'builder' do
|
508
|
+
# Mock articles
|
509
|
+
@items = [mock_article, mock_article]
|
510
|
+
@items.each_with_index do |article, i|
|
511
|
+
article.stubs(:[]).with(:title).returns("Article #{i}")
|
512
|
+
end
|
513
|
+
@items[0].stubs(:[]).with(:created_at).returns('01-01-2015')
|
514
|
+
@items[1].stubs(:[]).with(:created_at).returns('01-01-2014')
|
515
|
+
|
516
|
+
# Mock site
|
517
|
+
@site = mock
|
518
|
+
@site.stubs(:config).returns({ base_url: 'http://example.com' })
|
519
|
+
|
520
|
+
# Create feed item
|
521
|
+
@item = mock
|
522
|
+
@item.stubs(:[]).with(:title).returns('My Blog Or Something')
|
523
|
+
@item.stubs(:[]).with(:author_name).returns('J. Doe')
|
524
|
+
@item.stubs(:[]).with(:author_uri).returns('http://example.com/~jdoe')
|
525
|
+
@item.stubs(:[]).with(:feed_url).returns('http://example.com/feed')
|
526
|
+
|
527
|
+
# Check
|
528
|
+
result = atom_feed(preserve_order: true)
|
529
|
+
assert_match(
|
530
|
+
Regexp.new('Article 1.*Article 0', Regexp::MULTILINE),
|
531
|
+
result
|
532
|
+
)
|
533
|
+
end
|
534
|
+
end
|
535
|
+
|
506
536
|
def test_atom_feed_with_content_proc_param
|
507
537
|
if_have 'builder' do
|
508
538
|
# Mock article
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denis Defreyne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cri
|
@@ -154,6 +154,7 @@ files:
|
|
154
154
|
- lib/nanoc/extra/checking/checks/external_links.rb
|
155
155
|
- lib/nanoc/extra/checking/checks/html.rb
|
156
156
|
- lib/nanoc/extra/checking/checks/internal_links.rb
|
157
|
+
- lib/nanoc/extra/checking/checks/mixed_content.rb
|
157
158
|
- lib/nanoc/extra/checking/checks/stale.rb
|
158
159
|
- lib/nanoc/extra/checking/dsl.rb
|
159
160
|
- lib/nanoc/extra/checking/issue.rb
|
@@ -254,6 +255,7 @@ files:
|
|
254
255
|
- test/base/test_item.rb
|
255
256
|
- test/base/test_item_array.rb
|
256
257
|
- test/base/test_item_rep.rb
|
258
|
+
- test/base/test_item_rep_recorder_proxy.rb
|
257
259
|
- test/base/test_layout.rb
|
258
260
|
- test/base/test_memoization.rb
|
259
261
|
- test/base/test_notification_center.rb
|
@@ -287,6 +289,7 @@ files:
|
|
287
289
|
- test/extra/checking/checks/test_external_links.rb
|
288
290
|
- test/extra/checking/checks/test_html.rb
|
289
291
|
- test/extra/checking/checks/test_internal_links.rb
|
292
|
+
- test/extra/checking/checks/test_mixed_content.rb
|
290
293
|
- test/extra/checking/checks/test_stale.rb
|
291
294
|
- test/extra/checking/test_check.rb
|
292
295
|
- test/extra/checking/test_dsl.rb
|
@@ -372,7 +375,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
372
375
|
version: '0'
|
373
376
|
requirements: []
|
374
377
|
rubyforge_project:
|
375
|
-
rubygems_version: 2.4.
|
378
|
+
rubygems_version: 2.4.6
|
376
379
|
signing_key:
|
377
380
|
specification_version: 4
|
378
381
|
summary: a web publishing system written in Ruby for building small to medium-sized
|