govspeak 6.7.2 → 6.7.6

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: 3edb8b047b41d9c15581ec77b6b4ba829dae69f64729265deaf5cad25b91744a
4
- data.tar.gz: 2e899be9ea70576afb234804213e8697278483a77118dc5f03857bdf7ca0e49d
3
+ metadata.gz: 80c02b999651b2cd76424eabedc7619aaf9e494f2049fe16cf4a3ab34869de0f
4
+ data.tar.gz: adfc46a4aec8dd5c46f54990e392928da7d7610256750a7726b053a679689d90
5
5
  SHA512:
6
- metadata.gz: 8779eb8e734e660d3ce9b7e020f18c14792ba1488fb92f59d23455e0cf5474f2ded6d376bd3c25e0b09c7e27362a5e56a271bf1f3084ce60a8cc355d07a97b34
7
- data.tar.gz: 569414d843883df41a9bd9abbc286b94667e50b0156321468d01008980fd28863ef65e127a422a7e55c4793b649901000a6a474e0450903a801287880fa75af6
6
+ metadata.gz: 1d04823f5e51d7612529ef89b27a11366c0d8bae6bb3ab0c3d121fbc929e3a3df18dcb3390fbc75f1e706c7e8c3fd742663ffafe74330c5d87e0087370599eb3
7
+ data.tar.gz: 96f99f887fa623976d28b9cb3e22377650113669635e2f7f77b2bf6eca1f68b3fb43b078ed762c2a4ce0cf44ee7d6f68ad6ea997211b0f39aabfbc1bc43dff93
data/CHANGELOG.md CHANGED
@@ -1,9 +1,22 @@
1
- ## Unreleased
1
+ ## 6.7.6
2
2
 
3
- * Minimum Ruby version specified at 2.6 [215](https://github.com/alphagov/govspeak/pull/215)
3
+ * Add draggable false to button markup and validation [#224](https://github.com/alphagov/govspeak/pull/224)
4
+
5
+ ## 6.7.5
6
+
7
+ * Fix footnotes in call-to-action boxes [222](https://github.com/alphagov/govspeak/pull/222)
8
+
9
+ ## 6.7.4
10
+
11
+ * Remove Nokogumbo dependency to [resolve warning](https://github.com/sparklemotion/nokogiri/issues/2205) [220](https://github.com/alphagov/govspeak/pull/220)
12
+
13
+ ## 6.7.3
14
+
15
+ * Fix regex for footnotes in legislative lists [218](https://github.com/alphagov/govspeak/pull/218)
4
16
 
5
17
  ## 6.7.2
6
18
 
19
+ * Minimum Ruby version specified at 2.6 [215](https://github.com/alphagov/govspeak/pull/215)
7
20
  * Fix footnotes in legislative lists [216](https://github.com/alphagov/govspeak/pull/216)
8
21
 
9
22
  ## 6.7.1
@@ -55,7 +55,7 @@ class Govspeak::HtmlSanitizer
55
55
  elements: Sanitize::Config::RELAXED[:elements] + %w[govspeak-embed-attachment govspeak-embed-attachment-link svg path].concat(allowed_elements),
56
56
  attributes: {
57
57
  :all => Sanitize::Config::RELAXED[:attributes][:all] + %w[role aria-label],
58
- "a" => Sanitize::Config::RELAXED[:attributes]["a"] + [:data],
58
+ "a" => Sanitize::Config::RELAXED[:attributes]["a"] + [:data] + %w[draggable],
59
59
  "svg" => Sanitize::Config::RELAXED[:attributes][:all] + %w[xmlns width height viewbox focusable],
60
60
  "path" => Sanitize::Config::RELAXED[:attributes][:all] + %w[fill d],
61
61
  "div" => [:data],
@@ -1,3 +1,3 @@
1
1
  module Govspeak
2
- VERSION = "6.7.2".freeze
2
+ VERSION = "6.7.6".freeze
3
3
  end
data/lib/govspeak.rb CHANGED
@@ -6,7 +6,6 @@ require "htmlentities"
6
6
  require "kramdown"
7
7
  require "kramdown/parser/govuk"
8
8
  require "nokogiri"
9
- require "nokogumbo"
10
9
  require "rinku"
11
10
  require "sanitize"
12
11
  require "govspeak/header_extractor"
@@ -123,7 +122,7 @@ module Govspeak
123
122
  source = Govspeak::BlockquoteExtraQuoteRemover.remove(source)
124
123
  source = remove_forbidden_characters(source)
125
124
 
126
- legislative_list_footnote_definitions(source)
125
+ footnote_definitions(source)
127
126
 
128
127
  self.class.extensions.each do |_, regexp, block|
129
128
  source.gsub!(regexp) do
@@ -133,12 +132,12 @@ module Govspeak
133
132
  source
134
133
  end
135
134
 
136
- def legislative_list_footnote_definitions(source)
135
+ def footnote_definitions(source)
137
136
  is_legislative_list = source.scan(/\$LegislativeList.*?\[\^\d\]*.*?\$EndLegislativeList/m).size.positive?
138
- footnotes = source.scan(/\[\^(\d)\]:(.*)/)
137
+ is_cta = source.scan(/\$CTA.*?\[\^\d\]*.*?\$CTA/m).size.positive?
138
+ footnotes = source.scan(/\[\^(\d+)\]:(.*)/)
139
139
  @acronyms = source.scan(/(?<=\*)\[(.*)\]:(.*)/)
140
-
141
- if is_legislative_list && footnotes.size.positive?
140
+ if (is_legislative_list || is_cta) && footnotes.size.positive?
142
141
  list_items = footnotes.map do |footnote|
143
142
  number = footnote[0]
144
143
  text = footnote[1].strip
@@ -225,7 +224,7 @@ module Govspeak
225
224
  text = text.strip
226
225
  href = href.strip
227
226
 
228
- %(\n<a role="button" class="#{button_classes}" href="#{href}" #{data_attribute}>#{text}</a>\n)
227
+ %(\n<a role="button" draggable="false" class="#{button_classes}" href="#{href}" #{data_attribute}>#{text}</a>\n)
229
228
  end
230
229
 
231
230
  extension("highlight-answer") do |body|
@@ -322,10 +321,26 @@ module Govspeak
322
321
  lines.join
323
322
  end
324
323
 
324
+ extension("call-to-action", surrounded_by("$CTA")) do |body|
325
+ doc = Kramdown::Document.new(body.strip).to_html
326
+ doc = %(\n<div class="call-to-action">\n#{doc}</div>\n)
327
+ footnotes = body.scan(/\[\^(\d+)\]/).flatten
328
+
329
+ footnotes.each do |footnote|
330
+ html = "<sup id=\"fnref:#{footnote}\" role=\"doc-noteref\">" \
331
+ "<a href=\"#fn:#{footnote}\" class=\"footnote\" rel=\"footnote\">" \
332
+ "[footnote #{footnote}]</a></sup>"
333
+
334
+ doc.sub!(/(\[\^#{footnote}\])/, html)
335
+ end
336
+
337
+ add_acronym_alt_text(doc) if @acronyms.size.positive?
338
+ doc
339
+ end
340
+
325
341
  # More specific tags must be defined first. Those defined earlier have a
326
342
  # higher precedence for being matched. For example $CTA must be defined
327
343
  # before $C otherwise the first ($C)TA fill be matched to a contact tag.
328
- wrap_with_div("call-to-action", "$CTA", Govspeak::Document)
329
344
  wrap_with_div("summary", "$!")
330
345
  wrap_with_div("form-download", "$D")
331
346
  wrap_with_div("contact", "$C")
@@ -47,7 +47,7 @@ class GovspeakTest < Minitest::Test
47
47
  assert_html_output %(
48
48
  <p>Text before the button with line breaks</p>
49
49
 
50
- <p><a class="gem-c-button govuk-button" role="button" href="http://www.gov.uk">Start Now</a></p>
50
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="http://www.gov.uk">Start Now</a></p>
51
51
 
52
52
  <p>test after the button</p>
53
53
  )
@@ -65,21 +65,21 @@ class GovspeakTest < Minitest::Test
65
65
  # Make sure button renders when typical linebreaks are before it, seen in publishing applications
66
66
  test_given_govspeak "{button}[Line breaks](https://gov.uk/random){/button}\r\n\r\n{button}[Continue](https://gov.uk/random){/button}\r\n\r\n{button}[Continue](https://gov.uk/random){/button}" do
67
67
  assert_html_output %(
68
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Line breaks</a></p>
68
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Line breaks</a></p>
69
69
 
70
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Continue</a></p>
70
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Continue</a></p>
71
71
 
72
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Continue</a></p>
72
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Continue</a></p>
73
73
  )
74
74
  end
75
75
 
76
76
  test_given_govspeak "{button}[More line breaks](https://gov.uk/random){/button}\n\n{button}[Continue](https://gov.uk/random){/button}\n\n{button}[Continue](https://gov.uk/random){/button}" do
77
77
  assert_html_output %(
78
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">More line breaks</a></p>
78
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">More line breaks</a></p>
79
79
 
80
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Continue</a></p>
80
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Continue</a></p>
81
81
 
82
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Continue</a></p>
82
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Continue</a></p>
83
83
  )
84
84
  end
85
85
 
@@ -104,7 +104,7 @@ class GovspeakTest < Minitest::Test
104
104
  <p>lorem lorem lorem
105
105
  lorem lorem lorem</p>
106
106
 
107
- <p><a class="gem-c-button govuk-button" role="button" href="https://gov.uk/random">Random page</a></p>
107
+ <p><a class="gem-c-button govuk-button" role="button" draggable="false" href="https://gov.uk/random">Random page</a></p>
108
108
 
109
109
  <p>lorem lorem lorem
110
110
  lorem lorem lorem</p>
@@ -473,6 +473,101 @@ Teston
473
473
  </div>)
474
474
  end
475
475
 
476
+ test_given_govspeak "
477
+ $CTA
478
+ Click here to start the tool[^1]
479
+ $CTA
480
+ [^1]: Footnote definition one
481
+ " do
482
+ assert_html_output %(
483
+ <div class="call-to-action">
484
+ <p>Click here to start the tool<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">[footnote 1]</a></sup></p>
485
+ </div>
486
+ <div class="footnotes" role="doc-endnotes">
487
+ <ol>
488
+ <li id="fn:1" role="doc-endnote">
489
+ <p>
490
+ Footnote definition one<a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
491
+ </p>
492
+ </li>
493
+ </ol>
494
+ </div>
495
+ )
496
+ end
497
+
498
+ test_given_govspeak "
499
+ $CTA
500
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
501
+ Fusce felis ante[^1], lobortis non quam sit amet, tempus interdum justo.
502
+ $CTA
503
+ $CTA
504
+ Pellentesque quam enim, egestas sit amet congue sit amet[^2], ultrices vitae arcu.
505
+ Fringilla, metus dui scelerisque est.
506
+ $CTA
507
+ [^1]: Footnote definition one
508
+ [^2]: Footnote definition two
509
+ " do
510
+ assert_html_output %(
511
+ <div class="call-to-action">
512
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
513
+ Fusce felis ante<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">[footnote 1]</a></sup>, lobortis non quam sit amet, tempus interdum justo.</p>
514
+ </div>
515
+
516
+ <div class="call-to-action">
517
+ <p>Pellentesque quam enim, egestas sit amet congue sit amet<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">[footnote 2]</a></sup>, ultrices vitae arcu.
518
+ Fringilla, metus dui scelerisque est.</p>
519
+ </div>
520
+ <div class="footnotes" role="doc-endnotes">
521
+ <ol>
522
+ <li id="fn:1" role="doc-endnote">
523
+ <p>
524
+ Footnote definition one<a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
525
+ </p>
526
+ </li>
527
+ <li id="fn:2" role="doc-endnote">
528
+ <p>
529
+ Footnote definition two<a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
530
+ </p>
531
+ </li>
532
+ </ol>
533
+ </div>
534
+ )
535
+ end
536
+
537
+ test_given_govspeak "
538
+ $CTA
539
+ Click here to start the tool[^1]
540
+ $CTA
541
+
542
+ Lorem ipsum dolor sit amet[^2]
543
+
544
+ [^1]: Footnote definition 1
545
+ [^2]: Footnote definition 2
546
+ " do
547
+ assert_html_output %(
548
+ <div class="call-to-action">
549
+ <p>Click here to start the tool<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">[footnote 1]</a></sup></p>
550
+ </div>
551
+
552
+ <p>Lorem ipsum dolor sit amet<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">[footnote 2]</a></sup></p>
553
+
554
+ <div class="footnotes" role="doc-endnotes">
555
+ <ol>
556
+ <li id="fn:1" role="doc-endnote">
557
+ <p>
558
+ Footnote definition 1<a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
559
+ </p>
560
+ </li>
561
+ <li id="fn:2" role="doc-endnote">
562
+ <p>
563
+ Footnote definition 2<a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
564
+ </p>
565
+ </li>
566
+ </ol>
567
+ </div>
568
+ )
569
+ end
570
+
476
571
  test_given_govspeak "
477
572
  1. rod
478
573
  2. jane
@@ -685,6 +780,145 @@ Teston
685
780
  )
686
781
  end
687
782
 
783
+ test_given_govspeak "
784
+ $LegislativeList
785
+ * 1. Item 1[^1]
786
+ * 2. Item 2[^2]
787
+ * 3. Item 3[^3]
788
+ $EndLegislativeList
789
+
790
+ This is a paragraph with a footnote[^4].
791
+
792
+ $LegislativeList
793
+ * 1. Item 1[^5]
794
+ * 2. Item 2[^6]
795
+ * 3. Item 3[^7]
796
+ $EndLegislativeList
797
+
798
+ This is a paragraph with a footnote[^8].
799
+
800
+ $LegislativeList
801
+ * 1. Item 1[^9]
802
+ * 2. Item 2[^10]
803
+ * 3. Item 3[^11]
804
+ $EndLegislativeList
805
+
806
+ This is a paragraph with a footnote[^12].
807
+
808
+ [^1]: Footnote definition 1
809
+ [^2]: Footnote definition 2
810
+ [^3]: Footnote definition 3
811
+ [^4]: Footnote definition 4
812
+ [^5]: Footnote definition 5
813
+ [^6]: Footnote definition 6
814
+ [^7]: Footnote definition 7
815
+ [^8]: Footnote definition 8
816
+ [^9]: Footnote definition 9
817
+ [^10]: Footnote definition 10
818
+ [^11]: Footnote definition 11
819
+ [^12]: Footnote definition 12
820
+ " do
821
+ assert_html_output %(
822
+ <ol class="legislative-list">
823
+ <li>1. Item 1<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">[footnote 1]</a></sup>
824
+ </li>
825
+ <li>2. Item 2<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">[footnote 2]</a></sup>
826
+ </li>
827
+ <li>3. Item 3<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">[footnote 3]</a></sup>
828
+ </li>
829
+ </ol>
830
+
831
+ <p>This is a paragraph with a footnote<sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">[footnote 4]</a></sup>.</p>
832
+
833
+ <ol class="legislative-list">
834
+ <li>1. Item 1<sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">[footnote 5]</a></sup>
835
+ </li>
836
+ <li>2. Item 2<sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">[footnote 6]</a></sup>
837
+ </li>
838
+ <li>3. Item 3<sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">[footnote 7]</a></sup>
839
+ </li>
840
+ </ol>
841
+
842
+ <p>This is a paragraph with a footnote<sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">[footnote 8]</a></sup>.</p>
843
+
844
+ <ol class="legislative-list">
845
+ <li>1. Item 1<sup id="fnref:9" role="doc-noteref"><a href="#fn:9" class="footnote" rel="footnote">[footnote 9]</a></sup>
846
+ </li>
847
+ <li>2. Item 2<sup id="fnref:10" role="doc-noteref"><a href="#fn:10" class="footnote" rel="footnote">[footnote 10]</a></sup>
848
+ </li>
849
+ <li>3. Item 3<sup id="fnref:11" role="doc-noteref"><a href="#fn:11" class="footnote" rel="footnote">[footnote 11]</a></sup>
850
+ </li>
851
+ </ol>
852
+
853
+ <p>This is a paragraph with a footnote<sup id="fnref:12" role="doc-noteref"><a href="#fn:12" class="footnote" rel="footnote">[footnote 12]</a></sup>.</p>
854
+
855
+ <div class="footnotes" role="doc-endnotes">
856
+ <ol>
857
+ <li id="fn:1" role="doc-endnote">
858
+ <p>
859
+ Footnote definition 1<a href="#fnref:1" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
860
+ </p>
861
+ </li>
862
+ <li id="fn:2" role="doc-endnote">
863
+ <p>
864
+ Footnote definition 2<a href="#fnref:2" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
865
+ </p>
866
+ </li>
867
+ <li id="fn:3" role="doc-endnote">
868
+ <p>
869
+ Footnote definition 3<a href="#fnref:3" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
870
+ </p>
871
+ </li>
872
+ <li id="fn:4" role="doc-endnote">
873
+ <p>
874
+ Footnote definition 4<a href="#fnref:4" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
875
+ </p>
876
+ </li>
877
+ <li id="fn:5" role="doc-endnote">
878
+ <p>
879
+ Footnote definition 5<a href="#fnref:5" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
880
+ </p>
881
+ </li>
882
+ <li id="fn:6" role="doc-endnote">
883
+ <p>
884
+ Footnote definition 6<a href="#fnref:6" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
885
+ </p>
886
+ </li>
887
+ <li id="fn:7" role="doc-endnote">
888
+ <p>
889
+ Footnote definition 7<a href="#fnref:7" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
890
+ </p>
891
+ </li>
892
+ <li id="fn:8" role="doc-endnote">
893
+ <p>
894
+ Footnote definition 8<a href="#fnref:8" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
895
+ </p>
896
+ </li>
897
+ <li id="fn:9" role="doc-endnote">
898
+ <p>
899
+ Footnote definition 9<a href="#fnref:9" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
900
+ </p>
901
+ </li>
902
+ <li id="fn:10" role="doc-endnote">
903
+ <p>
904
+ Footnote definition 10<a href="#fnref:10" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
905
+ </p>
906
+ </li>
907
+ <li id="fn:11" role="doc-endnote">
908
+ <p>
909
+ Footnote definition 11<a href="#fnref:11" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
910
+ </p>
911
+ </li>
912
+ <li id="fn:12" role="doc-endnote">
913
+ <p>
914
+ Footnote definition 12<a href="#fnref:12" class="reversefootnote" role="doc-backlink" aria-label="go to where this is referenced">↩</a>
915
+ </p>
916
+ </li>
917
+ </ol>
918
+ </div>
919
+ )
920
+ end
921
+
688
922
  test_given_govspeak "
689
923
  $LegislativeList
690
924
  * 1. Item 1[^1] with a [link](http://www.gov.uk)
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.7.2
4
+ version: 6.7.6
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: 2021-09-13 00:00:00.000000000 Z
11
+ date: 2021-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -112,28 +112,14 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '1.5'
115
+ version: '1.12'
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: '1.5'
123
- - !ruby/object:Gem::Dependency
124
- name: nokogumbo
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '2'
130
- type: :runtime
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: '2'
122
+ version: '1.12'
137
123
  - !ruby/object:Gem::Dependency
138
124
  name: rinku
139
125
  requirement: !ruby/object:Gem::Requirement
@@ -152,20 +138,14 @@ dependencies:
152
138
  name: sanitize
153
139
  requirement: !ruby/object:Gem::Requirement
154
140
  requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: 5.2.1
158
- - - "<"
141
+ - - "~>"
159
142
  - !ruby/object:Gem::Version
160
143
  version: '6'
161
144
  type: :runtime
162
145
  prerelease: false
163
146
  version_requirements: !ruby/object:Gem::Requirement
164
147
  requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: 5.2.1
168
- - - "<"
148
+ - - "~>"
169
149
  - !ruby/object:Gem::Version
170
150
  version: '6'
171
151
  - !ruby/object:Gem::Dependency
@@ -216,14 +196,14 @@ dependencies:
216
196
  requirements:
217
197
  - - "~>"
218
198
  - !ruby/object:Gem::Version
219
- version: 4.0.0
199
+ version: 4.2.0
220
200
  type: :development
221
201
  prerelease: false
222
202
  version_requirements: !ruby/object:Gem::Requirement
223
203
  requirements:
224
204
  - - "~>"
225
205
  - !ruby/object:Gem::Version
226
- version: 4.0.0
206
+ version: 4.2.0
227
207
  - !ruby/object:Gem::Dependency
228
208
  name: simplecov
229
209
  requirement: !ruby/object:Gem::Requirement
@@ -372,24 +352,24 @@ signing_key:
372
352
  specification_version: 4
373
353
  summary: Markup language for single domain
374
354
  test_files:
375
- - test/govspeak_attachments_image_test.rb
376
- - test/govspeak_structured_headers_test.rb
355
+ - test/test_helper.rb
356
+ - test/blockquote_extra_quote_remover_test.rb
377
357
  - test/govspeak_images_bang_test.rb
378
- - test/govspeak_link_test.rb
358
+ - test/govspeak_contacts_test.rb
359
+ - test/govspeak_table_with_headers_test.rb
360
+ - test/govspeak_link_extractor_test.rb
361
+ - test/govspeak_attachments_image_test.rb
362
+ - test/html_validator_test.rb
363
+ - test/govspeak_button_test.rb
379
364
  - test/govspeak_extract_contact_content_ids_test.rb
380
365
  - test/govspeak_test_helper.rb
381
- - test/blockquote_extra_quote_remover_test.rb
382
- - test/govspeak_attachments_inline_test.rb
383
- - test/govspeak_attachment_test.rb
384
- - test/test_helper.rb
385
- - test/govspeak_test.rb
386
- - test/presenters/h_card_presenter_test.rb
387
366
  - test/govspeak_footnote_test.rb
388
- - test/govspeak_attachment_link_test.rb
389
- - test/govspeak_link_extractor_test.rb
390
- - test/govspeak_button_test.rb
391
- - test/govspeak_images_test.rb
392
- - test/html_validator_test.rb
367
+ - test/govspeak_link_test.rb
368
+ - test/govspeak_structured_headers_test.rb
393
369
  - test/html_sanitizer_test.rb
394
- - test/govspeak_table_with_headers_test.rb
395
- - test/govspeak_contacts_test.rb
370
+ - test/govspeak_images_test.rb
371
+ - test/govspeak_test.rb
372
+ - test/govspeak_attachment_link_test.rb
373
+ - test/govspeak_attachment_test.rb
374
+ - test/presenters/h_card_presenter_test.rb
375
+ - test/govspeak_attachments_inline_test.rb