govspeak 8.7.0 → 8.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -5
- data/lib/govspeak/structured_header_extractor.rb +4 -3
- data/lib/govspeak/version.rb +1 -1
- data/lib/govspeak.rb +6 -1
- data/test/govspeak_footnote_test.rb +7 -7
- data/test/govspeak_test.rb +103 -70
- metadata +7 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2327c692182754ebd2530797871493caa9ca60f054c612c36eb5f097b89258f
|
4
|
+
data.tar.gz: 61d89f0435b46fbfe3db338c1c09e05ec8b28aa9fbf44a33b0e868ed0bb71994
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e3e3cbc55a0a3fc85402199460939470b85f5aff55bb57e8d13342de905c1c3d57ec52199799482c2b731388055a1bd8ac99e27ccfc6846f486da6587c6f09c
|
7
|
+
data.tar.gz: ef269168107be73aee3f0f76aa70fb442944593ff5b10d3cc0d5146148bd2968d1a5da3f2e23fde3157a73774adfc3a21271e6e94137e082a6fecf75dc81da83
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 8.8.0
|
4
|
+
|
5
|
+
* Strip trailing backslashes from the lines of an address ([#371](https://github.com/alphagov/govspeak/pull/371))
|
6
|
+
* When replacing line breaks with "<br>"s in the parsing of address blocks,
|
7
|
+
replace the whole "\r\n" line break and not just the "\n" character ([#371](https://github.com/alphagov/govspeak/pull/371))
|
8
|
+
* Only strip a leading line break from an address block, not just any old first
|
9
|
+
occurrence of a line break ([#371](https://github.com/alphagov/govspeak/pull/371))
|
10
|
+
* Strip trailing whitespace from the lines of an address ([#371](https://github.com/alphagov/govspeak/pull/371))
|
11
|
+
|
1
12
|
## 8.7.0
|
2
13
|
|
3
14
|
* Allow data attributes in spans ([#364](https://github.com/alphagov/govspeak/pull/364))
|
@@ -6,20 +17,21 @@
|
|
6
17
|
|
7
18
|
* Update dependencies
|
8
19
|
|
9
|
-
|
20
|
+
## 8.6.0
|
10
21
|
|
11
22
|
* Remove embed functionality ([#358](https://github.com/alphagov/govspeak/pull/358))
|
12
23
|
|
13
|
-
|
24
|
+
## 8.5.1
|
14
25
|
|
15
26
|
* Rename embed-related code to `content block`
|
16
27
|
* Do not attempt to parse embed codes if `content_blocks` option is missing
|
17
28
|
|
18
|
-
|
29
|
+
## 8.5.0
|
19
30
|
|
20
31
|
* Support embeds in Govspeak
|
21
32
|
|
22
33
|
## 8.4.1
|
34
|
+
|
23
35
|
* Do not pin version of govuk_publishing_components
|
24
36
|
|
25
37
|
## 8.4.0
|
@@ -201,7 +213,7 @@
|
|
201
213
|
* Move from govuk-lint to rubocop-govuk
|
202
214
|
* Allow version 6 of actionview
|
203
215
|
|
204
|
-
##
|
216
|
+
## 6.5.0
|
205
217
|
|
206
218
|
* Allow data attributes on links
|
207
219
|
|
@@ -391,7 +403,8 @@
|
|
391
403
|
* Add an `allowed_image_hosts` options to `HtmlValidator` (and `HtmlSanitizer`)
|
392
404
|
* BREAKING CHANGE: Added the `$EndLegislativeList` tag which allows line breaks in `LegislativeLists`.
|
393
405
|
|
394
|
-
##
|
406
|
+
## 2.0.2
|
407
|
+
|
395
408
|
* Fix a bug with the HtmlValidator to do with kramdown now respecting character
|
396
409
|
encodings of input data.
|
397
410
|
|
@@ -44,9 +44,6 @@ module Govspeak
|
|
44
44
|
structured_headers
|
45
45
|
end
|
46
46
|
|
47
|
-
attr_reader :doc, :stack, :structured_headers
|
48
|
-
private :doc, :stack, :structured_headers
|
49
|
-
|
50
47
|
def headers_list
|
51
48
|
@headers_list ||= doc.headers.map do |h|
|
52
49
|
StructuredHeader.new(h.text, h.level, h.id, [])
|
@@ -98,5 +95,9 @@ module Govspeak
|
|
98
95
|
def reset_stack
|
99
96
|
@stack = []
|
100
97
|
end
|
98
|
+
|
99
|
+
private
|
100
|
+
|
101
|
+
attr_reader :doc, :stack, :structured_headers
|
101
102
|
end
|
102
103
|
end
|
data/lib/govspeak/version.rb
CHANGED
data/lib/govspeak.rb
CHANGED
@@ -302,7 +302,12 @@ module Govspeak
|
|
302
302
|
end
|
303
303
|
|
304
304
|
extension("address", surrounded_by("$A")) do |body|
|
305
|
-
|
305
|
+
<<~BODY
|
306
|
+
|
307
|
+
<div class="address"><div class="adr org fn"><p markdown="1">
|
308
|
+
#{body.lstrip.sub(/[\s\\]*\z/, '').gsub(/[ \\]*\r?\n/, '<br />')}
|
309
|
+
</p></div></div>
|
310
|
+
BODY
|
306
311
|
end
|
307
312
|
|
308
313
|
extension("legislative list", /#{NEW_PARAGRAPH_LOOKBEHIND}\$LegislativeList\s*$(.*?)\$EndLegislativeList/m) do |body|
|
@@ -20,23 +20,23 @@ class GovspeakFootnoteTest < Minitest::Test
|
|
20
20
|
[^3]: And then they both point here." do
|
21
21
|
assert_html_output(
|
22
22
|
%(
|
23
|
-
<p>Footnotes can be added<sup id="fnref:1"
|
23
|
+
<p>Footnotes can be added<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>.</p>
|
24
24
|
|
25
|
-
<p>Footnotes can be added too<sup id="fnref:2"
|
25
|
+
<p>Footnotes can be added too<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>.</p>
|
26
26
|
|
27
|
-
<p>This footnote has a reference number<sup id="fnref:3"
|
27
|
+
<p>This footnote has a reference number<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">[footnote 3]</a></sup>.</p>
|
28
28
|
|
29
|
-
<p>And this footnote has the same reference number<sup id="fnref:3:1"
|
29
|
+
<p>And this footnote has the same reference number<sup id="fnref:3:1"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">[footnote 3]</a></sup>.</p>
|
30
30
|
|
31
31
|
<div class="footnotes" role="doc-endnotes">
|
32
32
|
<ol>
|
33
|
-
<li id="fn:1"
|
33
|
+
<li id="fn:1">
|
34
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
35
|
</li>
|
36
|
-
<li id="fn:2"
|
36
|
+
<li id="fn:2">
|
37
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
38
|
</li>
|
39
|
-
<li id="fn:3"
|
39
|
+
<li id="fn:3">
|
40
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
41
|
</li>
|
42
42
|
</ol>
|
data/test/govspeak_test.rb
CHANGED
@@ -106,7 +106,40 @@ Testcase Cliffs
|
|
106
106
|
Teston
|
107
107
|
0123 456 7890 $A )
|
108
108
|
doc = Govspeak::Document.new(input)
|
109
|
-
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890
|
109
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
110
|
+
end
|
111
|
+
|
112
|
+
test "newlines in address block content are replaced with <br>s" do
|
113
|
+
input = %($A\n123 Test Street\nTestcase Cliffs\nTeston\n0123 456 7890\n$A)
|
114
|
+
doc = Govspeak::Document.new(input)
|
115
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
116
|
+
end
|
117
|
+
|
118
|
+
test "combined return-and-newlines in address block content are replaced with <br>s" do
|
119
|
+
input = %($A\r\n123 Test Street\r\nTestcase Cliffs\r\nTeston\r\n0123 456 7890\r\n$A)
|
120
|
+
doc = Govspeak::Document.new(input)
|
121
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
122
|
+
end
|
123
|
+
|
124
|
+
test "trailing backslashes are stripped from address block content" do
|
125
|
+
# two trailing backslashes would normally be converted into a line break by Kramdown
|
126
|
+
input = %($A\r\n123 Test Street\\\r\nTestcase Cliffs\\\nTeston\\\\\r\n0123 456 7890\\\\\n$A)
|
127
|
+
doc = Govspeak::Document.new(input)
|
128
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
129
|
+
end
|
130
|
+
|
131
|
+
test "trailing spaces are stripped from address block content" do
|
132
|
+
# two trailing spaces would normally be converted into a line break by Kramdown
|
133
|
+
input = %($A\r\n123 Test Street \r\nTestcase Cliffs \nTeston \r\n0123 456 7890 \n$A)
|
134
|
+
doc = Govspeak::Document.new(input)
|
135
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
136
|
+
end
|
137
|
+
|
138
|
+
test "trailing backslashes and spaces are stripped from address block content" do
|
139
|
+
# two trailing backslashes or two trailing spaces would normally be converted into a line break by Kramdown
|
140
|
+
input = %($A\r\n123 Test Street \\\r\nTestcase Cliffs\\ \nTeston\\\\ \r\n0123 456 7890 \\\\\n$A)
|
141
|
+
doc = Govspeak::Document.new(input)
|
142
|
+
assert_equal %(\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
110
143
|
end
|
111
144
|
|
112
145
|
test "should convert barchart" do
|
@@ -141,7 +174,7 @@ Testcase Cliffs
|
|
141
174
|
Teston
|
142
175
|
0123 456 7890 $A)
|
143
176
|
doc = Govspeak::Document.new(input)
|
144
|
-
assert_equal %(<p>Paragraph1</p>\n\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890
|
177
|
+
assert_equal %(<p>Paragraph1</p>\n\n<div class="address"><div class="adr org fn"><p>\n123 Test Street<br>Testcase Cliffs<br>Teston<br>0123 456 7890\n</p></div></div>\n), doc.to_html
|
145
178
|
end
|
146
179
|
|
147
180
|
test_given_govspeak("^ I am very informational ^") do
|
@@ -388,7 +421,7 @@ Teston
|
|
388
421
|
$A" do
|
389
422
|
assert_html_output %(
|
390
423
|
<div class="address"><div class="adr org fn"><p>
|
391
|
-
street<br>road
|
424
|
+
street<br>road
|
392
425
|
</p></div></div>)
|
393
426
|
assert_text_output "street road"
|
394
427
|
end
|
@@ -402,7 +435,7 @@ Teston
|
|
402
435
|
*[ACRONYM]: This is the acronym explanation" do
|
403
436
|
assert_html_output %(
|
404
437
|
<div class="address"><div class="adr org fn"><p>
|
405
|
-
street with <abbr title="This is the acronym explanation">ACRONYM</abbr><br>road
|
438
|
+
street with <abbr title="This is the acronym explanation">ACRONYM</abbr><br>road
|
406
439
|
</p></div></div>)
|
407
440
|
end
|
408
441
|
|
@@ -649,11 +682,11 @@ Teston
|
|
649
682
|
" do
|
650
683
|
assert_html_output %(
|
651
684
|
<div class="call-to-action">
|
652
|
-
<p>Click here to start the tool<sup id="fnref:1"
|
685
|
+
<p>Click here to start the tool<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup></p>
|
653
686
|
</div>
|
654
687
|
<div class="footnotes" role="doc-endnotes">
|
655
688
|
<ol>
|
656
|
-
<li id="fn:1"
|
689
|
+
<li id="fn:1">
|
657
690
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
658
691
|
</li>
|
659
692
|
</ol>
|
@@ -676,18 +709,18 @@ Teston
|
|
676
709
|
assert_html_output %(
|
677
710
|
<div class="call-to-action">
|
678
711
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
679
|
-
Fusce felis ante<sup id="fnref:1"
|
712
|
+
Fusce felis ante<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>, lobortis non quam sit amet, tempus interdum justo.</p>
|
680
713
|
</div>
|
681
714
|
<div class="call-to-action">
|
682
|
-
<p>Pellentesque quam enim, egestas sit amet congue sit amet<sup id="fnref:2"
|
715
|
+
<p>Pellentesque quam enim, egestas sit amet congue sit amet<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>, ultrices vitae arcu.
|
683
716
|
Fringilla, metus dui scelerisque est.</p>
|
684
717
|
</div>
|
685
718
|
<div class="footnotes" role="doc-endnotes">
|
686
719
|
<ol>
|
687
|
-
<li id="fn:1"
|
720
|
+
<li id="fn:1">
|
688
721
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
689
722
|
</li>
|
690
|
-
<li id="fn:2"
|
723
|
+
<li id="fn:2">
|
691
724
|
<p>Footnote definition two <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
692
725
|
</li>
|
693
726
|
</ol>
|
@@ -707,17 +740,17 @@ Teston
|
|
707
740
|
" do
|
708
741
|
assert_html_output %(
|
709
742
|
<div class="call-to-action">
|
710
|
-
<p>Click here to start the tool<sup id="fnref:1"
|
743
|
+
<p>Click here to start the tool<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup></p>
|
711
744
|
</div>
|
712
745
|
|
713
|
-
<p>Lorem ipsum dolor sit amet<sup id="fnref:2"
|
746
|
+
<p>Lorem ipsum dolor sit amet<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup></p>
|
714
747
|
|
715
748
|
<div class="footnotes" role="doc-endnotes">
|
716
749
|
<ol>
|
717
|
-
<li id="fn:1"
|
750
|
+
<li id="fn:1">
|
718
751
|
<p>Footnote definition 1 <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
719
752
|
</li>
|
720
|
-
<li id="fn:2"
|
753
|
+
<li id="fn:2">
|
721
754
|
<p>Footnote definition 2 <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
722
755
|
</li>
|
723
756
|
</ol>
|
@@ -783,12 +816,12 @@ Teston
|
|
783
816
|
" do
|
784
817
|
assert_html_output %(
|
785
818
|
<div class="call-to-action">
|
786
|
-
<p>Welcome to the <abbr title="The official UK government website">GOV.UK</abbr><sup id="fnref:1"
|
819
|
+
<p>Welcome to the <abbr title="The official UK government website">GOV.UK</abbr><sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup></p>
|
787
820
|
</div>
|
788
821
|
|
789
822
|
<div class="footnotes" role="doc-endnotes">
|
790
823
|
<ol>
|
791
|
-
<li id="fn:1"
|
824
|
+
<li id="fn:1">
|
792
825
|
<p><abbr title="The official UK government website">GOV.UK</abbr> is the official UK government <abbr title="A collection of web pages, such as GOV.UK">website</abbr> <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
793
826
|
</li>
|
794
827
|
</ol>
|
@@ -949,9 +982,9 @@ Teston
|
|
949
982
|
assert_html_output %(
|
950
983
|
<div class="legislative-list-wrapper">
|
951
984
|
<ol class="legislative-list">
|
952
|
-
<li>1. Item 1<sup id="fnref:1"
|
985
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>
|
953
986
|
</li>
|
954
|
-
<li>2. Item 2<sup id="fnref:2"
|
987
|
+
<li>2. Item 2<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>
|
955
988
|
</li>
|
956
989
|
<li>3. Item 3</li>
|
957
990
|
</ol>
|
@@ -959,10 +992,10 @@ Teston
|
|
959
992
|
|
960
993
|
<div class="footnotes" role="doc-endnotes">
|
961
994
|
<ol>
|
962
|
-
<li id="fn:1"
|
995
|
+
<li id="fn:1">
|
963
996
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
964
997
|
</li>
|
965
|
-
<li id="fn:2"
|
998
|
+
<li id="fn:2">
|
966
999
|
<p>Footnote definition two <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
967
1000
|
</li>
|
968
1001
|
</ol>
|
@@ -992,19 +1025,19 @@ Teston
|
|
992
1025
|
assert_html_output %(
|
993
1026
|
<div class="legislative-list-wrapper">
|
994
1027
|
<ol class="legislative-list">
|
995
|
-
<li>1. Item 1<sup id="fnref:1"
|
1028
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>
|
996
1029
|
</li>
|
997
1030
|
<li>2. Item 2</li>
|
998
1031
|
<li>3. Item 3</li>
|
999
1032
|
</ol>
|
1000
1033
|
</div>
|
1001
1034
|
|
1002
|
-
<p>This is a paragraph with a footnote<sup id="fnref:2"
|
1035
|
+
<p>This is a paragraph with a footnote<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>.</p>
|
1003
1036
|
|
1004
1037
|
<div class="legislative-list-wrapper">
|
1005
1038
|
<ol class="legislative-list">
|
1006
1039
|
<li>1. Item 1</li>
|
1007
|
-
<li>2. Item 2<sup id="fnref:3"
|
1040
|
+
<li>2. Item 2<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">[footnote 3]</a></sup>
|
1008
1041
|
</li>
|
1009
1042
|
<li>3. Item 3</li>
|
1010
1043
|
</ol>
|
@@ -1012,13 +1045,13 @@ Teston
|
|
1012
1045
|
|
1013
1046
|
<div class="footnotes" role="doc-endnotes">
|
1014
1047
|
<ol>
|
1015
|
-
<li id="fn:1"
|
1048
|
+
<li id="fn:1">
|
1016
1049
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1017
1050
|
</li>
|
1018
|
-
<li id="fn:2"
|
1051
|
+
<li id="fn:2">
|
1019
1052
|
<p>Footnote definition two <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1020
1053
|
</li>
|
1021
|
-
<li id="fn:3"
|
1054
|
+
<li id="fn:3">
|
1022
1055
|
<p>Footnote definition two <a href="#fnref:3" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1023
1056
|
</li>
|
1024
1057
|
</ol>
|
@@ -1067,79 +1100,79 @@ Teston
|
|
1067
1100
|
assert_html_output %(
|
1068
1101
|
<div class="legislative-list-wrapper">
|
1069
1102
|
<ol class="legislative-list">
|
1070
|
-
<li>1. Item 1<sup id="fnref:1"
|
1103
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>
|
1071
1104
|
</li>
|
1072
|
-
<li>2. Item 2<sup id="fnref:2"
|
1105
|
+
<li>2. Item 2<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>
|
1073
1106
|
</li>
|
1074
|
-
<li>3. Item 3<sup id="fnref:3"
|
1107
|
+
<li>3. Item 3<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">[footnote 3]</a></sup>
|
1075
1108
|
</li>
|
1076
1109
|
</ol>
|
1077
1110
|
</div>
|
1078
1111
|
|
1079
|
-
<p>This is a paragraph with a footnote<sup id="fnref:4"
|
1112
|
+
<p>This is a paragraph with a footnote<sup id="fnref:4"><a href="#fn:4" class="footnote" rel="footnote" role="doc-noteref">[footnote 4]</a></sup>.</p>
|
1080
1113
|
|
1081
1114
|
<div class="legislative-list-wrapper">
|
1082
1115
|
<ol class="legislative-list">
|
1083
|
-
<li>1. Item 1<sup id="fnref:5"
|
1116
|
+
<li>1. Item 1<sup id="fnref:5"><a href="#fn:5" class="footnote" rel="footnote" role="doc-noteref">[footnote 5]</a></sup>
|
1084
1117
|
</li>
|
1085
|
-
<li>2. Item 2<sup id="fnref:6"
|
1118
|
+
<li>2. Item 2<sup id="fnref:6"><a href="#fn:6" class="footnote" rel="footnote" role="doc-noteref">[footnote 6]</a></sup>
|
1086
1119
|
</li>
|
1087
|
-
<li>3. Item 3<sup id="fnref:7"
|
1120
|
+
<li>3. Item 3<sup id="fnref:7"><a href="#fn:7" class="footnote" rel="footnote" role="doc-noteref">[footnote 7]</a></sup>
|
1088
1121
|
</li>
|
1089
1122
|
</ol>
|
1090
1123
|
</div>
|
1091
1124
|
|
1092
|
-
<p>This is a paragraph with a footnote<sup id="fnref:8"
|
1125
|
+
<p>This is a paragraph with a footnote<sup id="fnref:8"><a href="#fn:8" class="footnote" rel="footnote" role="doc-noteref">[footnote 8]</a></sup>.</p>
|
1093
1126
|
|
1094
1127
|
<div class="legislative-list-wrapper">
|
1095
1128
|
<ol class="legislative-list">
|
1096
|
-
<li>1. Item 1<sup id="fnref:9"
|
1129
|
+
<li>1. Item 1<sup id="fnref:9"><a href="#fn:9" class="footnote" rel="footnote" role="doc-noteref">[footnote 9]</a></sup>
|
1097
1130
|
</li>
|
1098
|
-
<li>2. Item 2<sup id="fnref:10"
|
1131
|
+
<li>2. Item 2<sup id="fnref:10"><a href="#fn:10" class="footnote" rel="footnote" role="doc-noteref">[footnote 10]</a></sup>
|
1099
1132
|
</li>
|
1100
|
-
<li>3. Item 3<sup id="fnref:11"
|
1133
|
+
<li>3. Item 3<sup id="fnref:11"><a href="#fn:11" class="footnote" rel="footnote" role="doc-noteref">[footnote 11]</a></sup>
|
1101
1134
|
</li>
|
1102
1135
|
</ol>
|
1103
1136
|
</div>
|
1104
1137
|
|
1105
|
-
<p>This is a paragraph with a footnote<sup id="fnref:12"
|
1138
|
+
<p>This is a paragraph with a footnote<sup id="fnref:12"><a href="#fn:12" class="footnote" rel="footnote" role="doc-noteref">[footnote 12]</a></sup>.</p>
|
1106
1139
|
|
1107
1140
|
<div class="footnotes" role="doc-endnotes">
|
1108
1141
|
<ol>
|
1109
|
-
<li id="fn:1"
|
1142
|
+
<li id="fn:1">
|
1110
1143
|
<p>Footnote definition 1 <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1111
1144
|
</li>
|
1112
|
-
<li id="fn:2"
|
1145
|
+
<li id="fn:2">
|
1113
1146
|
<p>Footnote definition 2 <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1114
1147
|
</li>
|
1115
|
-
<li id="fn:3"
|
1148
|
+
<li id="fn:3">
|
1116
1149
|
<p>Footnote definition 3 <a href="#fnref:3" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1117
1150
|
</li>
|
1118
|
-
<li id="fn:4"
|
1151
|
+
<li id="fn:4">
|
1119
1152
|
<p>Footnote definition 4 <a href="#fnref:4" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1120
1153
|
</li>
|
1121
|
-
<li id="fn:5"
|
1154
|
+
<li id="fn:5">
|
1122
1155
|
<p>Footnote definition 5 <a href="#fnref:5" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1123
1156
|
</li>
|
1124
|
-
<li id="fn:6"
|
1157
|
+
<li id="fn:6">
|
1125
1158
|
<p>Footnote definition 6 <a href="#fnref:6" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1126
1159
|
</li>
|
1127
|
-
<li id="fn:7"
|
1160
|
+
<li id="fn:7">
|
1128
1161
|
<p>Footnote definition 7 <a href="#fnref:7" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1129
1162
|
</li>
|
1130
|
-
<li id="fn:8"
|
1163
|
+
<li id="fn:8">
|
1131
1164
|
<p>Footnote definition 8 <a href="#fnref:8" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1132
1165
|
</li>
|
1133
|
-
<li id="fn:9"
|
1166
|
+
<li id="fn:9">
|
1134
1167
|
<p>Footnote definition 9 <a href="#fnref:9" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1135
1168
|
</li>
|
1136
|
-
<li id="fn:10"
|
1169
|
+
<li id="fn:10">
|
1137
1170
|
<p>Footnote definition 10 <a href="#fnref:10" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1138
1171
|
</li>
|
1139
|
-
<li id="fn:11"
|
1172
|
+
<li id="fn:11">
|
1140
1173
|
<p>Footnote definition 11 <a href="#fnref:11" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1141
1174
|
</li>
|
1142
|
-
<li id="fn:12"
|
1175
|
+
<li id="fn:12">
|
1143
1176
|
<p>Footnote definition 12 <a href="#fnref:12" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1144
1177
|
</li>
|
1145
1178
|
</ol>
|
@@ -1162,21 +1195,21 @@ Teston
|
|
1162
1195
|
assert_html_output %(
|
1163
1196
|
<div class="legislative-list-wrapper">
|
1164
1197
|
<ol class="legislative-list">
|
1165
|
-
<li>1. Item 1<sup id="fnref:1"
|
1198
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup> with a <a href="http://www.gov.uk">link</a>
|
1166
1199
|
</li>
|
1167
1200
|
<li>2. Item 2</li>
|
1168
1201
|
<li>3. Item 3</li>
|
1169
1202
|
</ol>
|
1170
1203
|
</div>
|
1171
1204
|
|
1172
|
-
<p>This is a paragraph with a footnote<sup id="fnref:2"
|
1205
|
+
<p>This is a paragraph with a footnote<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup></p>
|
1173
1206
|
|
1174
1207
|
<div class="footnotes" role="doc-endnotes">
|
1175
1208
|
<ol>
|
1176
|
-
<li id="fn:1"
|
1209
|
+
<li id="fn:1">
|
1177
1210
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1178
1211
|
</li>
|
1179
|
-
<li id="fn:2"
|
1212
|
+
<li id="fn:2">
|
1180
1213
|
<p>Footnote definition two <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1181
1214
|
</li>
|
1182
1215
|
</ol>
|
@@ -1197,20 +1230,20 @@ Teston
|
|
1197
1230
|
assert_html_output %(
|
1198
1231
|
<div class="legislative-list-wrapper">
|
1199
1232
|
<ol class="legislative-list">
|
1200
|
-
<li>1. Item 1<sup id="fnref:1"
|
1233
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup> with a <a href="http://www.gov.uk">link</a>
|
1201
1234
|
</li>
|
1202
1235
|
<li>2. Item 2</li>
|
1203
|
-
<li>3. Item 3<sup id="fnref:2"
|
1236
|
+
<li>3. Item 3<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>
|
1204
1237
|
</li>
|
1205
1238
|
</ol>
|
1206
1239
|
</div>
|
1207
1240
|
|
1208
1241
|
<div class="footnotes" role="doc-endnotes">
|
1209
1242
|
<ol>
|
1210
|
-
<li id="fn:1"
|
1243
|
+
<li id="fn:1">
|
1211
1244
|
<p>Footnote definition one with a <a href="http://www.gov.uk">link</a> included <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1212
1245
|
</li>
|
1213
|
-
<li id="fn:2"
|
1246
|
+
<li id="fn:2">
|
1214
1247
|
<p>Footnote definition two with an external <a rel="external" href="http://www.google.com">link</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1215
1248
|
</li>
|
1216
1249
|
</ol>
|
@@ -1226,12 +1259,12 @@ Teston
|
|
1226
1259
|
" do
|
1227
1260
|
assert_html_output %(
|
1228
1261
|
<div class="legislative-list-wrapper">
|
1229
|
-
<p>1. some text<sup id="fnref:1"
|
1262
|
+
<p>1. some text<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>:</p>
|
1230
1263
|
</div>
|
1231
1264
|
|
1232
1265
|
<div class="footnotes" role="doc-endnotes">
|
1233
1266
|
<ol>
|
1234
|
-
<li id="fn:1"
|
1267
|
+
<li id="fn:1">
|
1235
1268
|
<p>footnote text <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1236
1269
|
</li>
|
1237
1270
|
</ol>
|
@@ -1247,12 +1280,12 @@ Teston
|
|
1247
1280
|
" do
|
1248
1281
|
assert_html_output %(
|
1249
1282
|
<div class="legislative-list-wrapper">
|
1250
|
-
<p>1. some text<sup id="fnref:1"
|
1283
|
+
<p>1. some text<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup>: extra</p>
|
1251
1284
|
</div>
|
1252
1285
|
|
1253
1286
|
<div class="footnotes" role="doc-endnotes">
|
1254
1287
|
<ol>
|
1255
|
-
<li id="fn:1"
|
1288
|
+
<li id="fn:1">
|
1256
1289
|
<p>footnote text <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1257
1290
|
</li>
|
1258
1291
|
</ol>
|
@@ -1318,24 +1351,24 @@ Teston
|
|
1318
1351
|
assert_html_output %(
|
1319
1352
|
<div class="legislative-list-wrapper">
|
1320
1353
|
<ol class="legislative-list">
|
1321
|
-
<li>1. Item 1<sup id="fnref:1"
|
1354
|
+
<li>1. Item 1<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup> with an <abbr title="This is the acronym explanation">ACRONYM</abbr>
|
1322
1355
|
</li>
|
1323
|
-
<li>2. Item 2<sup id="fnref:2"
|
1356
|
+
<li>2. Item 2<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">[footnote 2]</a></sup>
|
1324
1357
|
</li>
|
1325
|
-
<li>3. Item 3<sup id="fnref:3"
|
1358
|
+
<li>3. Item 3<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">[footnote 3]</a></sup>
|
1326
1359
|
</li>
|
1327
1360
|
</ol>
|
1328
1361
|
</div>
|
1329
1362
|
|
1330
1363
|
<div class="footnotes" role="doc-endnotes">
|
1331
1364
|
<ol>
|
1332
|
-
<li id="fn:1"
|
1365
|
+
<li id="fn:1">
|
1333
1366
|
<p>Footnote definition one <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1334
1367
|
</li>
|
1335
|
-
<li id="fn:2"
|
1368
|
+
<li id="fn:2">
|
1336
1369
|
<p>Footnote definition two with an <abbr title="This is the acronym explanation">ACRONYM</abbr> <a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1337
1370
|
</li>
|
1338
|
-
<li id="fn:3"
|
1371
|
+
<li id="fn:3">
|
1339
1372
|
<p>Footnote definition three with an acronym that matches an HTML tag <abbr title="Testing HTML matching">class</abbr> <a href="#fnref:3" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1340
1373
|
</li>
|
1341
1374
|
</ol>
|
@@ -1427,12 +1460,12 @@ Teston
|
|
1427
1460
|
" do
|
1428
1461
|
assert_html_output %(
|
1429
1462
|
<div class="legislative-list-wrapper">
|
1430
|
-
<p>Welcome to the <abbr title="The official UK government website">GOV.UK</abbr><sup id="fnref:1"
|
1463
|
+
<p>Welcome to the <abbr title="The official UK government website">GOV.UK</abbr><sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">[footnote 1]</a></sup></p>
|
1431
1464
|
</div>
|
1432
1465
|
|
1433
1466
|
<div class="footnotes" role="doc-endnotes">
|
1434
1467
|
<ol>
|
1435
|
-
<li id="fn:1"
|
1468
|
+
<li id="fn:1">
|
1436
1469
|
<p><abbr title="The official UK government website">GOV.UK</abbr> is the official UK government <abbr title="A collection of web pages, such as GOV.UK">website</abbr> <a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a></p>
|
1437
1470
|
</li>
|
1438
1471
|
</ol>
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govspeak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2024-
|
10
|
+
date: 2024-12-18 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: actionview
|
@@ -107,7 +106,7 @@ dependencies:
|
|
107
106
|
version: 2.3.1
|
108
107
|
- - "<"
|
109
108
|
- !ruby/object:Gem::Version
|
110
|
-
version: 2.
|
109
|
+
version: 2.5.2
|
111
110
|
type: :runtime
|
112
111
|
prerelease: false
|
113
112
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -117,7 +116,7 @@ dependencies:
|
|
117
116
|
version: 2.3.1
|
118
117
|
- - "<"
|
119
118
|
- !ruby/object:Gem::Version
|
120
|
-
version: 2.
|
119
|
+
version: 2.5.2
|
121
120
|
- !ruby/object:Gem::Dependency
|
122
121
|
name: nokogiri
|
123
122
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,14 +207,14 @@ dependencies:
|
|
208
207
|
requirements:
|
209
208
|
- - '='
|
210
209
|
- !ruby/object:Gem::Version
|
211
|
-
version: 5.0.
|
210
|
+
version: 5.0.5
|
212
211
|
type: :development
|
213
212
|
prerelease: false
|
214
213
|
version_requirements: !ruby/object:Gem::Requirement
|
215
214
|
requirements:
|
216
215
|
- - '='
|
217
216
|
- !ruby/object:Gem::Version
|
218
|
-
version: 5.0.
|
217
|
+
version: 5.0.5
|
219
218
|
- !ruby/object:Gem::Dependency
|
220
219
|
name: simplecov
|
221
220
|
requirement: !ruby/object:Gem::Requirement
|
@@ -329,7 +328,6 @@ files:
|
|
329
328
|
homepage: http://github.com/alphagov/govspeak
|
330
329
|
licenses: []
|
331
330
|
metadata: {}
|
332
|
-
post_install_message:
|
333
331
|
rdoc_options: []
|
334
332
|
require_paths:
|
335
333
|
- lib
|
@@ -344,8 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
344
342
|
- !ruby/object:Gem::Version
|
345
343
|
version: '0'
|
346
344
|
requirements: []
|
347
|
-
rubygems_version: 3.
|
348
|
-
signing_key:
|
345
|
+
rubygems_version: 3.6.1
|
349
346
|
specification_version: 4
|
350
347
|
summary: Markup language for single domain
|
351
348
|
test_files:
|