govspeak 6.5.6 → 6.5.11

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: cd25c3749cd867192b6243a3d607d83b4b53def14cfb81f9cfaec0f9194052fe
4
- data.tar.gz: 9ba6512c5ff9c8a410ea424ea880baef90d0a90e1cc8b660755d3428148bb899
3
+ metadata.gz: a45a14e5a726d918753171dc957cc1ed29e50d4505685ff19271da6cad41945d
4
+ data.tar.gz: 27d874bc05f80a2c37edae5010a326b426cbcf1663d5bfcc1bedc9d6852e1e02
5
5
  SHA512:
6
- metadata.gz: adc39b260589d92b0ba86e2ee04a513677fece35b50e338ba7716a927b4706c7e2782e13b50a4f5158429621dd2248b40d4dda7804bc176e60d8e73ee3f348d2
7
- data.tar.gz: 46a366da4e41699f7bf182967a71e1cf3cc92f06f477b655eadd939b8ca25dfd1088591dd8d1b83f563d9ebcc49b797726c59ce2c72d9ce6b63a8dc3992f7513
6
+ metadata.gz: 5a01955112fab442c130f71c93e4c2a743c1c9d7a16797d5a2ef406bc7ad591f8380b90f03574d373cf8a519d40e4828b880a9a45d1e36b8c5128f423ac1e20f
7
+ data.tar.gz: 7ae23223d912b5753eefc4568190fd74e36968a6697e6ef5eeefeff65d88d63f0ec763122b716a4a6179b1c188121c349bb8f9fb6c74ccd346906084cdf7e184
@@ -1,3 +1,23 @@
1
+ ## 6.5.11
2
+
3
+ * Fix issue rendering $CTA blocks before $C (PR#202)
4
+
5
+ ## 6.5.10
6
+
7
+ * Be optimistic in versions of govuk_publishing_components and i18n allowed (PR#200)
8
+
9
+ ## 6.5.9
10
+
11
+ * Adjust footnote markup to accommodate multiple references (PR#198)
12
+
13
+ ## 6.5.8
14
+
15
+ * Customise footnote markup for accessibility (PR#192)
16
+
17
+ ## 6.5.7
18
+
19
+ * Update GOV.UK Publishing components to version to 23.0.0 or greater
20
+
1
21
  ## 6.5.6
2
22
 
3
23
  * Update Kramdown version to 2.3.0 or greater
data/README.md CHANGED
@@ -65,7 +65,7 @@ creates an example box
65
65
 
66
66
  ## Highlights
67
67
 
68
- ### Advisory
68
+ ### Advisory (DEPRECATED: marked for removal. Use 'Information callouts' instead.)
69
69
 
70
70
  @This is a very important message or warning@
71
71
 
@@ -77,7 +77,7 @@ highlights the enclosed text in yellow
77
77
  </h3>
78
78
  ```
79
79
 
80
- ### Answer
80
+ ### Answer (DEPRECATED: marked for removal)
81
81
 
82
82
  {::highlight-answer}
83
83
  The VAT rate is *20%*
@@ -272,6 +272,10 @@ module Govspeak
272
272
  lines.join
273
273
  end
274
274
 
275
+ # More specific tags must be defined first. Those defined earlier have a
276
+ # higher precedence for being matched. For example $CTA must be defined
277
+ # before $C otherwise the first ($C)TA fill be matched to a contact tag.
278
+ wrap_with_div("call-to-action", "$CTA", Govspeak::Document)
275
279
  wrap_with_div("summary", "$!")
276
280
  wrap_with_div("form-download", "$D")
277
281
  wrap_with_div("contact", "$C")
@@ -279,7 +283,6 @@ module Govspeak
279
283
  wrap_with_div("information", "$I", Govspeak::Document)
280
284
  wrap_with_div("additional-information", "$AI")
281
285
  wrap_with_div("example", "$E", Govspeak::Document)
282
- wrap_with_div("call-to-action", "$CTA", Govspeak::Document)
283
286
 
284
287
  extension("address", surrounded_by("$A")) do |body|
285
288
  %(\n<div class="address"><div class="adr org fn"><p>\n#{body.sub("\n", '').gsub("\n", '<br />')}\n</p></div></div>\n)
@@ -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.6".freeze
2
+ VERSION = "6.5.11".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
 
@@ -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
@@ -440,6 +440,25 @@ Teston
440
440
  </div>)
441
441
  end
442
442
 
443
+ test_given_govspeak "
444
+ $CTA
445
+ Click here to start the tool
446
+ $CTA
447
+
448
+ $C
449
+ Here is some text
450
+ $C
451
+ " do
452
+ assert_html_output %(
453
+ <div class="call-to-action">
454
+ <p>Click here to start the tool</p>
455
+ </div>
456
+
457
+ <div class="contact">
458
+ <p>Here is some text</p>
459
+ </div>)
460
+ end
461
+
443
462
  test_given_govspeak "
444
463
  [internal link](http://www.not-external.com)
445
464
 
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.6
4
+ version: 6.5.11
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-26 00:00:00.000000000 Z
11
+ date: 2020-12-30 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,14 +82,14 @@ 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
@@ -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
@@ -216,14 +216,14 @@ dependencies:
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/govspeak_link_extractor_test.rb
375
- - test/govspeak_structured_headers_test.rb
376
375
  - test/govspeak_images_bang_test.rb
376
+ - test/govspeak_attachment_test.rb
377
+ - test/govspeak_link_extractor_test.rb
378
+ - test/govspeak_attachments_inline_test.rb
377
379
  - test/govspeak_button_test.rb
378
- - test/govspeak_table_with_headers_test.rb
380
+ - test/govspeak_structured_headers_test.rb
381
+ - test/govspeak_attachments_image_test.rb
382
+ - test/govspeak_attachment_link_test.rb
379
383
  - test/govspeak_extract_contact_content_ids_test.rb
384
+ - test/presenters/h_card_presenter_test.rb
385
+ - test/govspeak_test.rb
386
+ - test/html_sanitizer_test.rb
387
+ - test/govspeak_footnote_test.rb
380
388
  - test/blockquote_extra_quote_remover_test.rb
381
- - test/govspeak_test_helper.rb
382
- - test/govspeak_link_test.rb
383
- - test/govspeak_images_test.rb
384
- - test/govspeak_attachment_link_test.rb
385
- - test/govspeak_contacts_test.rb
386
389
  - test/test_helper.rb
390
+ - test/govspeak_table_with_headers_test.rb
391
+ - test/govspeak_images_test.rb
392
+ - test/govspeak_link_test.rb
387
393
  - test/html_validator_test.rb
388
- - test/html_sanitizer_test.rb
389
- - test/govspeak_attachments_inline_test.rb
390
- - test/govspeak_test.rb
391
- - test/govspeak_attachment_test.rb
392
- - test/govspeak_attachments_image_test.rb
393
- - test/presenters/h_card_presenter_test.rb
394
+ - test/govspeak_contacts_test.rb
395
+ - test/govspeak_test_helper.rb