govspeak 6.8.2 → 7.0.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 +12 -0
- data/README.md +0 -23
- data/lib/govspeak/html_validator.rb +1 -1
- data/lib/govspeak/version.rb +1 -1
- data/lib/govspeak.rb +0 -13
- data/test/govspeak_test.rb +0 -133
- data/test/html_validator_test.rb +5 -0
- metadata +22 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c3b8cb50ac3718a8e0721af172791562652e29dcbb871ef0c9627bd452a6dff
|
4
|
+
data.tar.gz: 1d95d42b9f7f3302ecb7357811ad3e8e65856ea1f965dbb65a5a9e3564b0069b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c3d91185cf37171cc0cfe0ea48abfd37451c069c5ab2cff7cd7e909cf2298e92fe67b11de5985f5257d0f962f991b8240c8a38c5771792d1add389d3629e7d6
|
7
|
+
data.tar.gz: f3e4c332b35bcf5ab2587028d33cd85d4b933fd054334691c29febb3a85192214672ddc37a04f38117fce3e28b473068667d756e14e22e89f5614109e052cae5
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 7.0.0
|
2
|
+
|
3
|
+
* BREAKING CHANGE Remove `PriorityList`, the `PrimaryList` JS module to render the priority list on the frontend is to be removed [#249](https://github.com/alphagov/govspeak/pull/249)
|
4
|
+
|
5
|
+
## 6.8.4
|
6
|
+
|
7
|
+
* Fix bug where inconsistent linebreaks trigger validations [#250](https://github.com/alphagov/govspeak/pull/250)
|
8
|
+
|
9
|
+
## 6.8.3
|
10
|
+
|
11
|
+
* Require Kramdown minimum version of 2.3.1 to avoid CVE-2021-28834 [#246](https://github.com/alphagov/govspeak/pull/246)
|
12
|
+
|
1
13
|
## 6.8.2
|
2
14
|
|
3
15
|
* Fix footnote numbering [#239](https://github.com/alphagov/govspeak/pull/239)
|
data/README.md
CHANGED
@@ -292,29 +292,6 @@ For lists where you want to specify the numbering and have multiple indent level
|
|
292
292
|
$EndLegislativeList
|
293
293
|
(to indent, add 2 spaces)
|
294
294
|
|
295
|
-
## Priority Lists
|
296
|
-
|
297
|
-
For lists where you want to specify a number of items to be highlighted as priority.
|
298
|
-
|
299
|
-
$PriorityList:3
|
300
|
-
- Item 1
|
301
|
-
- Item 2
|
302
|
-
- Item 3
|
303
|
-
- Item 4
|
304
|
-
- Item 5
|
305
|
-
|
306
|
-
creates a list with priority items flagged with a class
|
307
|
-
|
308
|
-
```html
|
309
|
-
<ul>
|
310
|
-
<li class="primary-item">Item 1</li>
|
311
|
-
<li class="primary-item">Item 2</li>
|
312
|
-
<li class="primary-item">Item 3</li>
|
313
|
-
<li>Item 4</li>
|
314
|
-
<li>Item 5</li>
|
315
|
-
</ul>
|
316
|
-
```
|
317
|
-
|
318
295
|
## Devolved content
|
319
296
|
|
320
297
|
:england:content goes here:england:
|
data/lib/govspeak/version.rb
CHANGED
data/lib/govspeak.rb
CHANGED
@@ -405,19 +405,6 @@ module Govspeak
|
|
405
405
|
end
|
406
406
|
end
|
407
407
|
|
408
|
-
extension("Priority list", /#{NEW_PARAGRAPH_LOOKBEHIND}\$PriorityList:(\d+)\s*$(.*?)(?:^\s*$|\Z)/m) do |number_to_show, body|
|
409
|
-
number_to_show = number_to_show.to_i
|
410
|
-
tagged = 0
|
411
|
-
Govspeak::Document.new(body.strip).to_html.gsub(/<li>/) do |match|
|
412
|
-
if tagged < number_to_show
|
413
|
-
tagged += 1
|
414
|
-
'<li class="primary-item">'
|
415
|
-
else
|
416
|
-
match
|
417
|
-
end
|
418
|
-
end
|
419
|
-
end
|
420
|
-
|
421
408
|
extension("embed link", /\[embed:link:\s*(.*?)\s*\]/) do |content_id|
|
422
409
|
link = links.detect { |l| l[:content_id] == content_id }
|
423
410
|
next "" unless link
|
data/test/govspeak_test.rb
CHANGED
@@ -1219,139 +1219,6 @@ Teston
|
|
1219
1219
|
assert document.valid?
|
1220
1220
|
end
|
1221
1221
|
|
1222
|
-
expected_priority_list_output = %(
|
1223
|
-
<ul>
|
1224
|
-
<li class="primary-item">List item 1</li>
|
1225
|
-
<li class="primary-item">List item 2</li>
|
1226
|
-
<li class="primary-item">List item 3</li>
|
1227
|
-
<li>List item 4</li>
|
1228
|
-
<li>List item 5</li>
|
1229
|
-
</ul>
|
1230
|
-
)
|
1231
|
-
|
1232
|
-
test "Single priority list ending with EOF" do
|
1233
|
-
govspeak = "$PriorityList:3
|
1234
|
-
* List item 1
|
1235
|
-
* List item 2
|
1236
|
-
* List item 3
|
1237
|
-
* List item 4
|
1238
|
-
* List item 5"
|
1239
|
-
|
1240
|
-
given_govspeak(govspeak) do
|
1241
|
-
assert_html_output(expected_priority_list_output)
|
1242
|
-
end
|
1243
|
-
end
|
1244
|
-
|
1245
|
-
test "Single priority list ending with newlines" do
|
1246
|
-
govspeak = "$PriorityList:3
|
1247
|
-
* List item 1
|
1248
|
-
* List item 2
|
1249
|
-
* List item 3
|
1250
|
-
* List item 4
|
1251
|
-
* List item 5
|
1252
|
-
|
1253
|
-
"
|
1254
|
-
|
1255
|
-
given_govspeak(govspeak) do
|
1256
|
-
assert_html_output(expected_priority_list_output)
|
1257
|
-
end
|
1258
|
-
end
|
1259
|
-
|
1260
|
-
test 'Single priority list with \n newlines' do
|
1261
|
-
govspeak = "$PriorityList:3\n * List item 1\n * List item 2\n * List item 3\n * List item 4\n * List item 5"
|
1262
|
-
|
1263
|
-
given_govspeak(govspeak) do
|
1264
|
-
assert_html_output(expected_priority_list_output)
|
1265
|
-
end
|
1266
|
-
end
|
1267
|
-
|
1268
|
-
test 'Single priority list with \r\n newlines' do
|
1269
|
-
govspeak = "$PriorityList:3\r\n * List item 1\r\n * List item 2\r\n * List item 3\r\n * List item 4\r\n * List item 5"
|
1270
|
-
|
1271
|
-
given_govspeak(govspeak) do
|
1272
|
-
assert_html_output(expected_priority_list_output)
|
1273
|
-
end
|
1274
|
-
end
|
1275
|
-
|
1276
|
-
test "Multiple priority lists" do
|
1277
|
-
govspeak = "
|
1278
|
-
$PriorityList:3
|
1279
|
-
* List item 1
|
1280
|
-
* List item 2
|
1281
|
-
* List item 3
|
1282
|
-
* List item 4
|
1283
|
-
* List item 5
|
1284
|
-
|
1285
|
-
$PriorityList:1
|
1286
|
-
* List item 1
|
1287
|
-
* List item 2"
|
1288
|
-
|
1289
|
-
given_govspeak(govspeak) do
|
1290
|
-
assert_html_output %(
|
1291
|
-
<ul>
|
1292
|
-
<li class="primary-item">List item 1</li>
|
1293
|
-
<li class="primary-item">List item 2</li>
|
1294
|
-
<li class="primary-item">List item 3</li>
|
1295
|
-
<li>List item 4</li>
|
1296
|
-
<li>List item 5</li>
|
1297
|
-
</ul>
|
1298
|
-
|
1299
|
-
<ul>
|
1300
|
-
<li class="primary-item">List item 1</li>
|
1301
|
-
<li>List item 2</li>
|
1302
|
-
</ul>
|
1303
|
-
)
|
1304
|
-
end
|
1305
|
-
end
|
1306
|
-
|
1307
|
-
test "Priority list placed incorrectly" do
|
1308
|
-
govspeak = "
|
1309
|
-
This is a paragraph
|
1310
|
-
$PriorityList:3
|
1311
|
-
* List item 1
|
1312
|
-
* List item 2
|
1313
|
-
* List item 3
|
1314
|
-
* List item 4
|
1315
|
-
* List item 5"
|
1316
|
-
|
1317
|
-
given_govspeak(govspeak) do
|
1318
|
-
assert_html_output("
|
1319
|
-
<p>This is a paragraph
|
1320
|
-
$PriorityList:3
|
1321
|
-
* List item 1
|
1322
|
-
* List item 2
|
1323
|
-
* List item 3
|
1324
|
-
* List item 4
|
1325
|
-
* List item 5</p>")
|
1326
|
-
end
|
1327
|
-
end
|
1328
|
-
|
1329
|
-
test "Priority list placed correctly" do
|
1330
|
-
govspeak = "
|
1331
|
-
This is a paragraph
|
1332
|
-
|
1333
|
-
$PriorityList:3
|
1334
|
-
* List item 1
|
1335
|
-
* List item 2
|
1336
|
-
* List item 3
|
1337
|
-
* List item 4
|
1338
|
-
* List item 5"
|
1339
|
-
|
1340
|
-
given_govspeak(govspeak) do
|
1341
|
-
assert_html_output %(
|
1342
|
-
<p>This is a paragraph</p>
|
1343
|
-
|
1344
|
-
<ul>
|
1345
|
-
<li class="primary-item">List item 1</li>
|
1346
|
-
<li class="primary-item">List item 2</li>
|
1347
|
-
<li class="primary-item">List item 3</li>
|
1348
|
-
<li>List item 4</li>
|
1349
|
-
<li>List item 5</li>
|
1350
|
-
</ul>
|
1351
|
-
)
|
1352
|
-
end
|
1353
|
-
end
|
1354
|
-
|
1355
1222
|
test "should remove quotes surrounding a blockquote" do
|
1356
1223
|
govspeak = %(
|
1357
1224
|
He said:
|
data/test/html_validator_test.rb
CHANGED
@@ -108,4 +108,9 @@ class HtmlValidatorTest < Minitest::Test
|
|
108
108
|
assert Govspeak::HtmlValidator.new("<table><tr><td>Hello</td></tr></table>").valid?, "No <tbody> is valid"
|
109
109
|
assert Govspeak::HtmlValidator.new("<table><tbody><tr><td>Hello</td></tr></tbody></table>").valid?, "<tbody> is valid"
|
110
110
|
end
|
111
|
+
|
112
|
+
test "allow HTML tables with \n" do
|
113
|
+
html = "<table>\n<thead>\n<tr>\n<th></th>\n<th></th>\n<th colspan=\"3\"></th>\n\n</tr>\n</thead>\n<tr>\n<th></th>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</table>"
|
114
|
+
assert Govspeak::HtmlValidator.new(html).valid?, 'Tables with no <tbody> and \n are valid'
|
115
|
+
end
|
111
116
|
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:
|
4
|
+
version: 7.0.0
|
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: 2022-
|
11
|
+
date: 2022-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -92,14 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 2.3.
|
95
|
+
version: 2.3.1
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 2.3.
|
102
|
+
version: 2.3.1
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: nokogiri
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,14 +190,14 @@ dependencies:
|
|
190
190
|
requirements:
|
191
191
|
- - '='
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: 4.
|
193
|
+
version: 4.6.0
|
194
194
|
type: :development
|
195
195
|
prerelease: false
|
196
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
198
|
- - '='
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: 4.
|
200
|
+
version: 4.6.0
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: simplecov
|
203
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -327,29 +327,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
327
327
|
- !ruby/object:Gem::Version
|
328
328
|
version: '0'
|
329
329
|
requirements: []
|
330
|
-
rubygems_version: 3.3.
|
330
|
+
rubygems_version: 3.3.20
|
331
331
|
signing_key:
|
332
332
|
specification_version: 4
|
333
333
|
summary: Markup language for single domain
|
334
334
|
test_files:
|
335
|
-
- test/govspeak_test_helper.rb
|
336
|
-
- test/blockquote_extra_quote_remover_test.rb
|
337
|
-
- test/govspeak_link_extractor_test.rb
|
338
|
-
- test/govspeak_images_test.rb
|
339
|
-
- test/govspeak_link_test.rb
|
340
|
-
- test/govspeak_extract_contact_content_ids_test.rb
|
341
335
|
- test/govspeak_footnote_test.rb
|
342
|
-
- test/
|
343
|
-
- test/govspeak_attachments_inline_test.rb
|
344
|
-
- test/govspeak_structured_headers_test.rb
|
345
|
-
- test/test_helper.rb
|
336
|
+
- test/govspeak_attachments_image_test.rb
|
346
337
|
- test/govspeak_button_test.rb
|
347
|
-
- test/
|
338
|
+
- test/blockquote_extra_quote_remover_test.rb
|
339
|
+
- test/test_helper.rb
|
340
|
+
- test/presenters/h_card_presenter_test.rb
|
348
341
|
- test/html_sanitizer_test.rb
|
349
|
-
- test/
|
350
|
-
- test/govspeak_attachments_image_test.rb
|
351
|
-
- test/govspeak_images_bang_test.rb
|
342
|
+
- test/govspeak_structured_headers_test.rb
|
352
343
|
- test/govspeak_test.rb
|
353
|
-
- test/
|
344
|
+
- test/govspeak_test_helper.rb
|
345
|
+
- test/govspeak_link_test.rb
|
346
|
+
- test/govspeak_contacts_test.rb
|
347
|
+
- test/govspeak_extract_contact_content_ids_test.rb
|
354
348
|
- test/html_validator_test.rb
|
349
|
+
- test/govspeak_link_extractor_test.rb
|
350
|
+
- test/govspeak_images_test.rb
|
355
351
|
- test/govspeak_attachment_link_test.rb
|
352
|
+
- test/govspeak_attachments_inline_test.rb
|
353
|
+
- test/govspeak_attachment_test.rb
|
354
|
+
- test/govspeak_table_with_headers_test.rb
|
355
|
+
- test/govspeak_images_bang_test.rb
|