slimmer 9.5.0 → 9.6.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.md +10 -0
- data/Rakefile +3 -1
- data/lib/slimmer.rb +1 -1
- data/lib/slimmer/headers.rb +0 -2
- data/lib/slimmer/processors/inside_header_inserter.rb +11 -0
- data/lib/slimmer/skin.rb +1 -1
- data/lib/slimmer/version.rb +1 -1
- data/lib/tasks/lint.rake +4 -0
- data/test/headers_test.rb +0 -9
- data/test/processors/inside_header_inserter_test.rb +35 -0
- metadata +21 -20
- data/lib/slimmer/processors/meta_viewport_remover.rb +0 -19
- data/test/processors/meta_viewport_remover_test.rb +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d37cd678afb1296a6d4cbf84aee3bcd99a74df28
|
4
|
+
data.tar.gz: d2708c4354d2dbf6c4521ee51826636c40a18b3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3795f3e350eac43b774b3d08acc781b30017f8dd268ce937dc5bcb170023ee48ac1e4fee5081f43a5cc0310eef9f8d24584868e7e1458235d8e9a21ef9cc4ae
|
7
|
+
data.tar.gz: a2b70d4c759b3f0993d3274b5aed1dbc9ff7abbed4ef61f86bbf9b02e260bdfb483f1c1b3c2823d096a91b6f810c40594c8feea7bec208f51954065cfac92ebc
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
# 9.6.0
|
2
|
+
|
3
|
+
* Adds an 'inside header inserter' processor which allows an application to
|
4
|
+
inject a block of HTML after the logo by including a .inside-header element
|
5
|
+
in their application’s output.
|
6
|
+
(PR #167 https://github.com/alphagov/slimmer/pull/167)
|
7
|
+
|
8
|
+
* Remove `MetaViewportRemover` processor as it is no longer used.
|
9
|
+
(PR #166 https://github.com/alphagov/slimmer/pull/166)
|
10
|
+
|
1
11
|
# 9.5.0
|
2
12
|
|
3
13
|
* Adds a Cucumber helper that makes it easy for host applications to
|
data/Rakefile
CHANGED
@@ -4,6 +4,8 @@ require "bundler/gem_tasks"
|
|
4
4
|
require "rdoc/task"
|
5
5
|
require 'rake/testtask'
|
6
6
|
|
7
|
+
Dir.glob('lib/tasks/*.rake').each { |r| import r }
|
8
|
+
|
7
9
|
RDoc::Task.new do |rd|
|
8
10
|
rd.rdoc_files.include("lib/**/*.rb")
|
9
11
|
rd.rdoc_dir = "rdoc"
|
@@ -22,4 +24,4 @@ task :publish_gem do |t|
|
|
22
24
|
puts "Published #{gem}" if gem
|
23
25
|
end
|
24
26
|
|
25
|
-
task :default => :test
|
27
|
+
task :default => [:test, :lint]
|
data/lib/slimmer.rb
CHANGED
@@ -29,8 +29,8 @@ module Slimmer
|
|
29
29
|
autoload :FooterRemover, 'slimmer/processors/footer_remover'
|
30
30
|
autoload :MetadataInserter, 'slimmer/processors/metadata_inserter'
|
31
31
|
autoload :HeaderContextInserter, 'slimmer/processors/header_context_inserter'
|
32
|
+
autoload :InsideHeaderInserter, 'slimmer/processors/inside_header_inserter'
|
32
33
|
autoload :NavigationMover, 'slimmer/processors/navigation_mover'
|
33
|
-
autoload :MetaViewportRemover, 'slimmer/processors/meta_viewport_remover'
|
34
34
|
autoload :RelatedItemsInserter, 'slimmer/processors/related_items_inserter'
|
35
35
|
autoload :ReportAProblemInserter, 'slimmer/processors/report_a_problem_inserter'
|
36
36
|
autoload :SearchIndexSetter, 'slimmer/processors/search_index_setter'
|
data/lib/slimmer/headers.rb
CHANGED
@@ -11,7 +11,6 @@ module Slimmer
|
|
11
11
|
organisations: "Organisations",
|
12
12
|
report_a_problem: "Report-a-Problem",
|
13
13
|
world_locations: "World-Locations",
|
14
|
-
remove_meta_viewport: "Remove-Meta-Viewport",
|
15
14
|
result_count: "Result-Count",
|
16
15
|
search_parameters: "Search-Parameters",
|
17
16
|
section: "Section",
|
@@ -27,7 +26,6 @@ module Slimmer
|
|
27
26
|
REPORT_A_PROBLEM_FORM = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:report_a_problem]}"
|
28
27
|
WORLD_LOCATIONS_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:world_locations]}"
|
29
28
|
PAGE_OWNER_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:page_owner]}"
|
30
|
-
REMOVE_META_VIEWPORT = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:remove_meta_viewport]}"
|
31
29
|
RESULT_COUNT_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:result_count]}"
|
32
30
|
SEARCH_PATH_HEADER = "#{HEADER_PREFIX}-Search-Path"
|
33
31
|
SEARCH_PARAMETERS_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:search_parameters]}"
|
data/lib/slimmer/skin.rb
CHANGED
@@ -113,6 +113,7 @@ module Slimmer
|
|
113
113
|
Processors::ConditionalCommentMover.new(),
|
114
114
|
Processors::BodyInserter.new(wrapper_id),
|
115
115
|
Processors::BodyClassCopier.new,
|
116
|
+
Processors::InsideHeaderInserter.new,
|
116
117
|
Processors::HeaderContextInserter.new(),
|
117
118
|
Processors::SectionInserter.new(artefact),
|
118
119
|
Processors::MetadataInserter.new(response, artefact, options[:app_name]),
|
@@ -123,7 +124,6 @@ module Slimmer
|
|
123
124
|
source_request.url,
|
124
125
|
response.headers,
|
125
126
|
wrapper_id),
|
126
|
-
Processors::MetaViewportRemover.new(self, response.headers),
|
127
127
|
Processors::SearchRemover.new(response.headers),
|
128
128
|
]
|
129
129
|
|
data/lib/slimmer/version.rb
CHANGED
data/lib/tasks/lint.rake
ADDED
data/test/headers_test.rb
CHANGED
@@ -59,15 +59,6 @@ class HeadersTest < MiniTest::Test
|
|
59
59
|
set_slimmer_headers seccion: "wrong"
|
60
60
|
end
|
61
61
|
end
|
62
|
-
|
63
|
-
def test_should_not_have_meta_viewport_header_set
|
64
|
-
assert_equal nil, headers["X-Slimmer-Remove-Meta-Viewport"]
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_should_set_meta_viewport_header
|
68
|
-
set_slimmer_headers remove_meta_viewport: true
|
69
|
-
assert_equal "true", headers["X-Slimmer-Remove-Meta-Viewport"]
|
70
|
-
end
|
71
62
|
end
|
72
63
|
|
73
64
|
describe Slimmer::Headers do
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
class InsideHeaderInserterTest < MiniTest::Test
|
4
|
+
def test_should_insert_into_header
|
5
|
+
source = as_nokogiri %{
|
6
|
+
<html>
|
7
|
+
<body>
|
8
|
+
<div class="slimmer-inside-header">
|
9
|
+
<h2>Inserted Page Title</h2>
|
10
|
+
</div>
|
11
|
+
</body>
|
12
|
+
</html>
|
13
|
+
}
|
14
|
+
template = as_nokogiri %{
|
15
|
+
<html>
|
16
|
+
<body>
|
17
|
+
<div class="header-global">
|
18
|
+
<div class="header-logo">
|
19
|
+
<a href="https://www.gov.uk/" title="Go to the GOV.UK homepage" id="logo" class="content">
|
20
|
+
<img src="/assets/gov.uk_logotype_crown_invert_trans.png" width="35" height="31" alt="">
|
21
|
+
</a>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
26
|
+
}
|
27
|
+
|
28
|
+
Slimmer::Processors::InsideHeaderInserter.new.filter(source, template)
|
29
|
+
|
30
|
+
assert_in template,
|
31
|
+
"div.header-global .header-logo + h2",
|
32
|
+
"Inserted Page Title",
|
33
|
+
'Expecting the H2 to be inserted after .header-logo'
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Griffiths
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -268,7 +268,7 @@ files:
|
|
268
268
|
- lib/slimmer/processors/conditional_comment_mover.rb
|
269
269
|
- lib/slimmer/processors/footer_remover.rb
|
270
270
|
- lib/slimmer/processors/header_context_inserter.rb
|
271
|
-
- lib/slimmer/processors/
|
271
|
+
- lib/slimmer/processors/inside_header_inserter.rb
|
272
272
|
- lib/slimmer/processors/metadata_inserter.rb
|
273
273
|
- lib/slimmer/processors/navigation_mover.rb
|
274
274
|
- lib/slimmer/processors/related_items_inserter.rb
|
@@ -289,6 +289,7 @@ files:
|
|
289
289
|
- lib/slimmer/test_templates/header_footer_only.html
|
290
290
|
- lib/slimmer/test_templates/wrapper.html
|
291
291
|
- lib/slimmer/version.rb
|
292
|
+
- lib/tasks/lint.rake
|
292
293
|
- lib/tasks/slimmer.rake
|
293
294
|
- test/artefact_test.rb
|
294
295
|
- test/cache_test.rb
|
@@ -304,7 +305,7 @@ files:
|
|
304
305
|
- test/headers_test.rb
|
305
306
|
- test/processors/body_inserter_test.rb
|
306
307
|
- test/processors/header_context_inserter_test.rb
|
307
|
-
- test/processors/
|
308
|
+
- test/processors/inside_header_inserter_test.rb
|
308
309
|
- test/processors/metadata_inserter_test.rb
|
309
310
|
- test/processors/navigation_mover_test.rb
|
310
311
|
- test/processors/related_items_inserter_test.rb
|
@@ -344,32 +345,32 @@ signing_key:
|
|
344
345
|
specification_version: 4
|
345
346
|
summary: Thinner than the skinner
|
346
347
|
test_files:
|
347
|
-
- test/
|
348
|
-
- test/changelog_test.rb
|
349
|
-
- test/test_helpers/shared_templates_test.rb
|
348
|
+
- test/test_helper.rb
|
350
349
|
- test/typical_usage_test.rb
|
350
|
+
- test/cache_test.rb
|
351
|
+
- test/test_helpers/shared_templates_test.rb
|
351
352
|
- test/skin_test.rb
|
352
|
-
- test/artefact_test.rb
|
353
353
|
- test/fixtures/500.html.erb
|
354
|
-
- test/fixtures/
|
354
|
+
- test/fixtures/related.raw.html.erb
|
355
|
+
- test/fixtures/404.html.erb
|
355
356
|
- test/fixtures/410.html.erb
|
356
357
|
- test/fixtures/core_layout.html.erb
|
357
|
-
- test/fixtures/
|
358
|
+
- test/fixtures/proposition_menu.html.erb
|
358
359
|
- test/fixtures/report_a_problem.raw.html.erb
|
359
|
-
- test/
|
360
|
+
- test/changelog_test.rb
|
361
|
+
- test/component_resolver_test.rb
|
360
362
|
- test/headers_test.rb
|
361
363
|
- test/test_template_dependency_on_static_test.rb
|
362
|
-
- test/
|
363
|
-
- test/
|
364
|
+
- test/artefact_test.rb
|
365
|
+
- test/processors/search_parameter_inserter_test.rb
|
366
|
+
- test/processors/metadata_inserter_test.rb
|
364
367
|
- test/processors/header_context_inserter_test.rb
|
365
|
-
- test/processors/body_inserter_test.rb
|
366
|
-
- test/processors/navigation_mover_test.rb
|
367
368
|
- test/processors/related_items_inserter_test.rb
|
368
|
-
- test/processors/search_path_setter_test.rb
|
369
|
-
- test/processors/meta_viewport_remover_test.rb
|
370
|
-
- test/processors/search_parameter_inserter_test.rb
|
371
|
-
- test/processors/search_remover_test.rb
|
372
369
|
- test/processors/section_inserter_test.rb
|
370
|
+
- test/processors/body_inserter_test.rb
|
373
371
|
- test/processors/report_a_problem_inserter_test.rb
|
372
|
+
- test/processors/search_remover_test.rb
|
373
|
+
- test/processors/inside_header_inserter_test.rb
|
374
|
+
- test/processors/navigation_mover_test.rb
|
375
|
+
- test/processors/search_path_setter_test.rb
|
374
376
|
- test/processors/tag_mover_test.rb
|
375
|
-
- test/processors/metadata_inserter_test.rb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Slimmer::Processors
|
2
|
-
class MetaViewportRemover
|
3
|
-
def initialize(skin, headers)
|
4
|
-
@skin = skin
|
5
|
-
@headers = headers
|
6
|
-
end
|
7
|
-
|
8
|
-
def filter(content_document, page_template)
|
9
|
-
if should_remove_meta_viewport?
|
10
|
-
viewport = page_template.at_xpath('//head//meta[@name="viewport"]')
|
11
|
-
viewport.remove if viewport
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def should_remove_meta_viewport?
|
16
|
-
!! @headers[Slimmer::Headers::REMOVE_META_VIEWPORT]
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require_relative "../test_helper"
|
2
|
-
|
3
|
-
class MetaViewportRemover < SlimmerIntegrationTest
|
4
|
-
TEMPLATE = <<-END
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<meta name="viewport" content="width=device-width, intial-scale=1">
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<div><div id="wrapper"></div></div>
|
11
|
-
</body>
|
12
|
-
</html>
|
13
|
-
END
|
14
|
-
|
15
|
-
NO_VIEWPORT_TEMPLATE = <<-END
|
16
|
-
<html>
|
17
|
-
<head>
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
<div><div id="wrapper"></div></div>
|
21
|
-
</body>
|
22
|
-
</html>
|
23
|
-
END
|
24
|
-
|
25
|
-
def test_should_leave_all_content_as_it_is_if_there_is_not_a_meta_viewport_header_set
|
26
|
-
given_response 200, TEMPLATE, {}
|
27
|
-
assert_equal "<meta name=\"viewport\" content=\"width=device-width, intial-scale=1\">",
|
28
|
-
Nokogiri::HTML.parse(last_response.body).at_xpath('//head//meta[@name="viewport"]').to_s
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_should_not_fail_if_there_is_no_viewport_meta
|
32
|
-
given_response 200, NO_VIEWPORT_TEMPLATE, {Slimmer::Headers::REMOVE_META_VIEWPORT => "true"}
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_should_remove_the_meta_viewport_if_the_relevant_header_is_set
|
36
|
-
given_response 200, TEMPLATE, {Slimmer::Headers::REMOVE_META_VIEWPORT => "true"}
|
37
|
-
assert_nil Nokogiri::HTML.parse(last_response.body).at_xpath('//head//meta[@name="viewport"]')
|
38
|
-
end
|
39
|
-
end
|