govspeak 6.5.5 → 6.5.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99554d6b3b3fd3287b35eebe6ff4633d6e3df24f74bede69fd65c16a81a41584
4
- data.tar.gz: 300af892bfebf34b74161432f49d93131bde2d533354fd2580204c3d341b8031
3
+ metadata.gz: 3e54143d6d1df165694cae9c5ffeef35267bf25fb91d999e9e8b46dd0b76877f
4
+ data.tar.gz: a01f9c44fec457bc296fd217c51b4e4b332728895c0ade749b26190ff74528c0
5
5
  SHA512:
6
- metadata.gz: 033a7f0ac2134f8a7912fbb38033a07b8f51370d5631b1e6342a7b04d451b50540fc3874c5b3153af4a18b8ce892fa9f16d24ee6909ba339d2888423ea577199
7
- data.tar.gz: df16ff9574a2b759b0bb75e53475e08b7164166af97e28d900ed1f44407826d4156ec7441bb07363362740542f698244dc78a712f4b4c1b59e9570ec598685e5
6
+ metadata.gz: 42dbc03399dde648c4a89f2237ba0e7320d066d20cd8ce8d0b05caee2ef5bb69af7cbfc1aebe60a1577a04fc8fc63769fe5f4b284232fea317f45775599694bd
7
+ data.tar.gz: b96148ecb4e143bab160517d4c997782a946f3ba75a8ce045ad2ce0893a578aa8d83df275e7239d0bb0a335bf3486e386d0c901a29328eddd26fd39b7c6b9e7c
@@ -1,3 +1,23 @@
1
+ ## 6.5.10
2
+
3
+ * Be optimistic in versions of govuk_publishing_components and i18n allowed (PR#200)
4
+
5
+ ## 6.5.9
6
+
7
+ * Adjust footnote markup to accommodate multiple references (PR#198)
8
+
9
+ ## 6.5.8
10
+
11
+ * Customise footnote markup for accessibility (PR#192)
12
+
13
+ ## 6.5.7
14
+
15
+ * Update GOV.UK Publishing components to version to 23.0.0 or greater
16
+
17
+ ## 6.5.6
18
+
19
+ * Update Kramdown version to 2.3.0 or greater
20
+
1
21
  ## 6.5.5
2
22
 
3
23
  * Prevent links in table headers being stripped (PR#187)
@@ -57,7 +57,9 @@ module Govspeak
57
57
  @links = Array.wrap(options.delete(:links))
58
58
  @contacts = Array.wrap(options.delete(:contacts))
59
59
  @locale = options.fetch(:locale, "en")
60
- @options = { input: PARSER_CLASS_NAME, sanitize: true }.merge(options)
60
+ @options = { input: PARSER_CLASS_NAME,
61
+ sanitize: true,
62
+ syntax_highlighter: nil }.merge(options)
61
63
  @options[:entity_output] = :symbolic
62
64
  end
63
65
 
@@ -120,6 +120,17 @@ module Govspeak
120
120
  end
121
121
  end
122
122
 
123
+ extension("use custom footnotes") do |document|
124
+ document.css("a.footnote").map do |el|
125
+ footnote_number = el[:href].gsub(/\D/, "")
126
+ el.content = "[footnote #{footnote_number}]"
127
+ end
128
+ document.css("[role='doc-backlink']").map do |el|
129
+ backlink_number = " " + el.css("sup")[0].content if el.css("sup")[0].present?
130
+ el["aria-label"] = "go to where this is referenced#{backlink_number}"
131
+ end
132
+ end
133
+
123
134
  attr_reader :input, :govspeak_document
124
135
 
125
136
  def initialize(html, govspeak_document)
@@ -1,3 +1,3 @@
1
1
  module Govspeak
2
- VERSION = "6.5.5".freeze
2
+ VERSION = "6.5.10".freeze
3
3
  end
@@ -35,7 +35,7 @@ module Kramdown
35
35
  unless host.nil? || @document_domains.compact.include?(host)
36
36
  element.attr["rel"] = "external"
37
37
  end
38
- rescue Addressable::URI::InvalidURIError # rubocop:disable Lint/SuppressedException
38
+ rescue Addressable::URI::InvalidURIError
39
39
  # it's safe to ignore these very *specific* exceptions
40
40
  end
41
41
 
@@ -12,7 +12,7 @@ class BlockquoteExtraQuoteRemoverTest < Minitest::Test
12
12
  end
13
13
 
14
14
  test "ignores nil" do
15
- assert_leaves_untouched nil
15
+ assert_nil Govspeak::BlockquoteExtraQuoteRemover.remove(nil)
16
16
  end
17
17
 
18
18
  test "ignores text without double quotes" do
@@ -0,0 +1,46 @@
1
+ require "test_helper"
2
+ require "govspeak_test_helper"
3
+
4
+ class GovspeakFootnoteTest < Minitest::Test
5
+ include GovspeakTestHelper
6
+
7
+ test_given_govspeak "
8
+ Footnotes can be added[^1].
9
+
10
+ [^1]: And then later defined.
11
+
12
+ Footnotes can be added too[^2].
13
+
14
+ [^2]: And then later defined too.
15
+
16
+ This footnote has a reference number[^3].
17
+
18
+ And this footnote has the same reference number[^3].
19
+
20
+ [^3]: And then they both point here." do
21
+ assert_html_output(
22
+ %(
23
+ <p>Footnotes can be added<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote">[footnote 1]</a></sup>.</p>
24
+
25
+ <p>Footnotes can be added too<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote">[footnote 2]</a></sup>.</p>
26
+
27
+ <p>This footnote has a reference number<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote">[footnote 3]</a></sup>.</p>
28
+
29
+ <p>And this footnote has the same reference number<sup id="fnref:3:1" role="doc-noteref"><a href="#fn:3" class="footnote">[footnote 3]</a></sup>.</p>
30
+
31
+ <div class="footnotes" role="doc-endnotes">
32
+ <ol>
33
+ <li id="fn:1" role="doc-endnote">
34
+ <p>And then later defined. <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
35
+ </li>
36
+ <li id="fn:2" role="doc-endnote">
37
+ <p>And then later defined too. <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
38
+ </li>
39
+ <li id="fn:3" role="doc-endnote">
40
+ <p>And then they both point here. <a href="#fnref:3" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a> <a href="#fnref:3:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced 2">↩<sup>2</sup></a></p>
41
+ </li>
42
+ </ol>
43
+ </div>),
44
+ )
45
+ end
46
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govspeak
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.5.5
4
+ version: 6.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-20 00:00:00.000000000 Z
11
+ date: 2020-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -54,16 +54,16 @@ dependencies:
54
54
  name: govuk_publishing_components
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '21.4'
59
+ version: '23'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - "~>"
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '21.4'
66
+ version: '23'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: htmlentities
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -82,30 +82,30 @@ dependencies:
82
82
  name: i18n
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0.7'
88
88
  type: :runtime
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "~>"
92
+ - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0.7'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: kramdown
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "~>"
99
+ - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: 1.15.0
101
+ version: 2.3.0
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - "~>"
106
+ - - ">="
107
107
  - !ruby/object:Gem::Version
108
- version: 1.15.0
108
+ version: 2.3.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: nokogiri
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -174,14 +174,14 @@ dependencies:
174
174
  requirements:
175
175
  - - "~>"
176
176
  - !ruby/object:Gem::Version
177
- version: 5.14.1
177
+ version: '5.14'
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - "~>"
183
183
  - !ruby/object:Gem::Version
184
- version: 5.14.1
184
+ version: '5.14'
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: pry-byebug
187
187
  requirement: !ruby/object:Gem::Requirement
@@ -200,30 +200,30 @@ dependencies:
200
200
  name: rake
201
201
  requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
- - - "~>"
203
+ - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 0.9.0
205
+ version: '0'
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
209
209
  requirements:
210
- - - "~>"
210
+ - - ">="
211
211
  - !ruby/object:Gem::Version
212
- version: 0.9.0
212
+ version: '0'
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: rubocop-govuk
215
215
  requirement: !ruby/object:Gem::Requirement
216
216
  requirements:
217
217
  - - "~>"
218
218
  - !ruby/object:Gem::Version
219
- version: 3.3.2
219
+ version: 3.17.1
220
220
  type: :development
221
221
  prerelease: false
222
222
  version_requirements: !ruby/object:Gem::Requirement
223
223
  requirements:
224
224
  - - "~>"
225
225
  - !ruby/object:Gem::Version
226
- version: 3.3.2
226
+ version: 3.17.1
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: simplecov
229
229
  requirement: !ruby/object:Gem::Requirement
@@ -336,6 +336,7 @@ files:
336
336
  - test/govspeak_button_test.rb
337
337
  - test/govspeak_contacts_test.rb
338
338
  - test/govspeak_extract_contact_content_ids_test.rb
339
+ - test/govspeak_footnote_test.rb
339
340
  - test/govspeak_images_bang_test.rb
340
341
  - test/govspeak_images_test.rb
341
342
  - test/govspeak_link_extractor_test.rb
@@ -366,28 +367,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
366
367
  - !ruby/object:Gem::Version
367
368
  version: '0'
368
369
  requirements: []
369
- rubygems_version: 3.0.3
370
+ rubygems_version: 3.1.4
370
371
  signing_key:
371
372
  specification_version: 4
372
373
  summary: Markup language for single domain
373
374
  test_files:
374
- - test/blockquote_extra_quote_remover_test.rb
375
- - test/govspeak_test_helper.rb
376
- - test/govspeak_structured_headers_test.rb
377
- - test/govspeak_attachment_link_test.rb
378
- - test/govspeak_attachments_image_test.rb
379
- - test/test_helper.rb
380
- - test/govspeak_attachments_inline_test.rb
381
- - test/html_sanitizer_test.rb
382
- - test/govspeak_button_test.rb
383
375
  - test/govspeak_images_bang_test.rb
384
- - test/govspeak_images_test.rb
385
- - test/html_validator_test.rb
386
376
  - test/govspeak_attachment_test.rb
377
+ - test/govspeak_link_extractor_test.rb
378
+ - test/govspeak_attachments_inline_test.rb
379
+ - test/govspeak_button_test.rb
380
+ - test/govspeak_structured_headers_test.rb
381
+ - test/govspeak_attachments_image_test.rb
382
+ - test/govspeak_attachment_link_test.rb
387
383
  - test/govspeak_extract_contact_content_ids_test.rb
384
+ - test/presenters/h_card_presenter_test.rb
388
385
  - test/govspeak_test.rb
389
- - test/govspeak_link_extractor_test.rb
386
+ - test/html_sanitizer_test.rb
387
+ - test/govspeak_footnote_test.rb
388
+ - test/blockquote_extra_quote_remover_test.rb
389
+ - test/test_helper.rb
390
+ - test/govspeak_table_with_headers_test.rb
391
+ - test/govspeak_images_test.rb
390
392
  - test/govspeak_link_test.rb
393
+ - test/html_validator_test.rb
391
394
  - test/govspeak_contacts_test.rb
392
- - test/presenters/h_card_presenter_test.rb
393
- - test/govspeak_table_with_headers_test.rb
395
+ - test/govspeak_test_helper.rb