govspeak 5.0.2 → 5.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +159 -101
- data/lib/govspeak/version.rb +1 -1
- data/lib/govspeak.rb +5 -5
- metadata +26 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7009625d218a2a0653f0eb0ce8531b82700dbd4
|
4
|
+
data.tar.gz: c7b44ac063219357394b040641b5c6416ade46a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e2c8cc7949cc19311b28c37713584c13d35f7293082491a21a05cd457bf59a9145dcd3b8efcb446c56ab40f8de41c39a49827d702a9e6ab041569ca6c23cfc9
|
7
|
+
data.tar.gz: 2bd2cf3a1ed5babbf9211dc77deb4ac7ed2ad1d0ad0f313627aff56ab81e1367ee5614b1451c56148eafebf17b25c864a77db43e57de62b3b3016ebbf304f4d7
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -42,9 +42,12 @@ In addition to the [standard Markdown syntax](http://daringfireball.net/projects
|
|
42
42
|
|
43
43
|
creates a callout with an info (i) icon.
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
```html
|
46
|
+
<div role="note" aria-label="Information" class="application-notice info-notice">
|
47
|
+
<p>This is an information callout</p>
|
48
|
+
</div>
|
49
|
+
```
|
50
|
+
|
48
51
|
|
49
52
|
### Warning callouts
|
50
53
|
|
@@ -52,9 +55,11 @@ creates a callout with an info (i) icon.
|
|
52
55
|
|
53
56
|
creates a callout with a warning or alert (!) icon
|
54
57
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
```html
|
59
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
60
|
+
<p>This is a warning callout</p>
|
61
|
+
</div>
|
62
|
+
```
|
58
63
|
|
59
64
|
### Example callout
|
60
65
|
|
@@ -64,9 +69,11 @@ creates a callout with a warning or alert (!) icon
|
|
64
69
|
|
65
70
|
creates an example box
|
66
71
|
|
67
|
-
|
68
|
-
|
69
|
-
|
72
|
+
```html
|
73
|
+
<div class="example">
|
74
|
+
<p><strong>Example:</strong> Open the pod bay doors</p>
|
75
|
+
</div>
|
76
|
+
```
|
70
77
|
|
71
78
|
## Highlights
|
72
79
|
|
@@ -76,9 +83,11 @@ creates an example box
|
|
76
83
|
|
77
84
|
highlights the enclosed text in yellow
|
78
85
|
|
79
|
-
|
80
|
-
|
81
|
-
|
86
|
+
```html
|
87
|
+
<h3 role="note" aria-label="Important" class="advisory">
|
88
|
+
<span>This is a very important message or warning</span>
|
89
|
+
</h3>
|
90
|
+
```
|
82
91
|
|
83
92
|
### Answer
|
84
93
|
|
@@ -88,9 +97,11 @@ highlights the enclosed text in yellow
|
|
88
97
|
|
89
98
|
creates a large highlight box with optional preamble text and giant text denoted with `**`
|
90
99
|
|
91
|
-
|
92
|
-
|
93
|
-
|
100
|
+
```html
|
101
|
+
<div class="highlight-answer">
|
102
|
+
<p>The VAT rate is <em>20%</em></p>
|
103
|
+
</div>
|
104
|
+
```
|
94
105
|
|
95
106
|
### Statistic headline
|
96
107
|
|
@@ -124,9 +135,15 @@ Creates the following:
|
|
124
135
|
|
125
136
|
creates a contact box
|
126
137
|
|
127
|
-
|
128
|
-
|
129
|
-
|
138
|
+
```html
|
139
|
+
<div class="contact">
|
140
|
+
<p>
|
141
|
+
<strong>Student Finance England</strong><br>
|
142
|
+
<strong>Telephone:</strong> 0845 300 50 90<br>
|
143
|
+
<strong>Minicom:</strong> 0845 604 44 34
|
144
|
+
</p>
|
145
|
+
</div>
|
146
|
+
```
|
130
147
|
|
131
148
|
### Address
|
132
149
|
|
@@ -138,11 +155,17 @@ creates a contact box
|
|
138
155
|
|
139
156
|
creates an address box
|
140
157
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
<
|
145
|
-
|
158
|
+
```html
|
159
|
+
<div class="address">
|
160
|
+
<div class="adr org fn">
|
161
|
+
<p>
|
162
|
+
Hercules House<br>
|
163
|
+
Hercules Road<br>
|
164
|
+
London SE1 7DU<br>
|
165
|
+
</p>
|
166
|
+
</div>
|
167
|
+
</div>
|
168
|
+
```
|
146
169
|
|
147
170
|
## Downloads
|
148
171
|
|
@@ -154,9 +177,11 @@ creates an address box
|
|
154
177
|
|
155
178
|
creates a file download box
|
156
179
|
|
157
|
-
|
158
|
-
|
159
|
-
|
180
|
+
```html
|
181
|
+
<div class="form-download">
|
182
|
+
<p><a href="http://example.com/" title="Example form" rel="external">An example form download link.</a></p>
|
183
|
+
</div>
|
184
|
+
```
|
160
185
|
|
161
186
|
## Place
|
162
187
|
|
@@ -166,9 +191,11 @@ creates a file download box
|
|
166
191
|
|
167
192
|
creates a place box
|
168
193
|
|
169
|
-
|
170
|
-
|
171
|
-
|
194
|
+
```html
|
195
|
+
<div class="place">
|
196
|
+
<p>This is a place</p>
|
197
|
+
</div>
|
198
|
+
```
|
172
199
|
|
173
200
|
## Information
|
174
201
|
|
@@ -178,9 +205,11 @@ creates a place box
|
|
178
205
|
|
179
206
|
creates an information box
|
180
207
|
|
181
|
-
|
182
|
-
|
183
|
-
|
208
|
+
```html
|
209
|
+
<div class="information">
|
210
|
+
<p>This is information</p>
|
211
|
+
</div>
|
212
|
+
```
|
184
213
|
|
185
214
|
## Additional Information
|
186
215
|
|
@@ -190,9 +219,11 @@ creates an information box
|
|
190
219
|
|
191
220
|
creates an additional information box
|
192
221
|
|
193
|
-
|
194
|
-
|
195
|
-
|
222
|
+
```html
|
223
|
+
<div class="additional-information">
|
224
|
+
<p>This is additional information</p>
|
225
|
+
</div>
|
226
|
+
```
|
196
227
|
|
197
228
|
## Call to Action
|
198
229
|
|
@@ -202,9 +233,11 @@ creates an additional information box
|
|
202
233
|
|
203
234
|
creates an additional information box
|
204
235
|
|
205
|
-
|
206
|
-
|
207
|
-
|
236
|
+
```html
|
237
|
+
<div class="call-to-action">
|
238
|
+
<p>This is a call to action</p>
|
239
|
+
</div>
|
240
|
+
```
|
208
241
|
|
209
242
|
## Summary
|
210
243
|
|
@@ -214,9 +247,11 @@ creates an additional information box
|
|
214
247
|
|
215
248
|
creates a summary box
|
216
249
|
|
217
|
-
|
218
|
-
|
219
|
-
|
250
|
+
```html
|
251
|
+
<div class="summary">
|
252
|
+
<p>This is a summary</p>
|
253
|
+
</div>
|
254
|
+
```
|
220
255
|
|
221
256
|
## External Link
|
222
257
|
|
@@ -224,7 +259,9 @@ creates a summary box
|
|
224
259
|
|
225
260
|
creates a link specified as external
|
226
261
|
|
227
|
-
|
262
|
+
```html
|
263
|
+
<a href="https://example.com/report" rel="external">External Report</a>
|
264
|
+
```
|
228
265
|
|
229
266
|
## Steps
|
230
267
|
|
@@ -264,13 +301,15 @@ For lists where you want to specify a number of items to be highlighted as prior
|
|
264
301
|
|
265
302
|
creates a list with priority items flagged with a class
|
266
303
|
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
304
|
+
```html
|
305
|
+
<ul>
|
306
|
+
<li class="primary-item">Item 1</li>
|
307
|
+
<li class="primary-item">Item 2</li>
|
308
|
+
<li class="primary-item">Item 3</li>
|
309
|
+
<li>Item 4</li>
|
310
|
+
<li>Item 5</li>
|
311
|
+
</ul>
|
312
|
+
```
|
274
313
|
|
275
314
|
## Devolved content
|
276
315
|
|
@@ -283,12 +322,14 @@ creates a list with priority items flagged with a class
|
|
283
322
|
|
284
323
|
will create a box for the specified locality
|
285
324
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
325
|
+
```html
|
326
|
+
<div class="devolved-content england">
|
327
|
+
<p class="devolved-header">This section applies to England</p>
|
328
|
+
<div class="devolved-body">
|
329
|
+
<p>content goes here</p>
|
330
|
+
</div>
|
331
|
+
</div>
|
332
|
+
```
|
292
333
|
|
293
334
|
## Barcharts
|
294
335
|
|
@@ -301,18 +342,21 @@ rendered as a bar chart.
|
|
301
342
|
{barchart}
|
302
343
|
|
303
344
|
will be rendered as
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
</
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
</
|
315
|
-
</
|
345
|
+
|
346
|
+
```html
|
347
|
+
<table class="js-barchart-table mc-auto-outdent">
|
348
|
+
<thead>
|
349
|
+
<tr>
|
350
|
+
<th>col</th>
|
351
|
+
</tr>
|
352
|
+
</thead>
|
353
|
+
<tbody>
|
354
|
+
<tr>
|
355
|
+
<td>val</td>
|
356
|
+
</tr>
|
357
|
+
</tbody>
|
358
|
+
</table>
|
359
|
+
```
|
316
360
|
|
317
361
|
## Embedded Content
|
318
362
|
|
@@ -345,22 +389,24 @@ with options provided
|
|
345
389
|
|
346
390
|
will output an attachment box
|
347
391
|
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
392
|
+
```html
|
393
|
+
<section class="attachment embedded">
|
394
|
+
<div class="attachment-thumb">
|
395
|
+
<a href="http://example.com/test.pdf" aria-hidden="true" class="embedded"><img src="/images/pub-cover.png" alt="Pub cover"></a>
|
396
|
+
</div>
|
397
|
+
<div class="attachment-details">
|
398
|
+
<h2 class="title">
|
399
|
+
<a href="http://example.com/test.pdf" aria-describedby="attachment-123-accessibility-help">Attachment Title</a>
|
400
|
+
</h2>
|
401
|
+
<p class="metadata">
|
402
|
+
<span class="references">Ref: ISBN <span class="isbn">isbn-123</span></span>
|
403
|
+
</p>
|
404
|
+
<p>
|
405
|
+
<a href="http://example.com/order" class="order_url" title="Order a copy of the publication">Order a copy</a>(<span class="price">£12.30</span>)
|
406
|
+
</p>
|
407
|
+
</div>
|
408
|
+
</section>
|
409
|
+
```
|
364
410
|
|
365
411
|
### Inline Attachment
|
366
412
|
|
@@ -382,7 +428,9 @@ with options provided
|
|
382
428
|
|
383
429
|
will output an attachment within a block of text
|
384
430
|
|
385
|
-
|
431
|
+
```html
|
432
|
+
<p>Details referenced in <span class="attachment-inline"><a href="http://example.com/my-thorough-study.pdf">My Thorough Study</a></span></p>
|
433
|
+
```
|
386
434
|
|
387
435
|
### Image Attachments
|
388
436
|
|
@@ -404,7 +452,13 @@ with options provided
|
|
404
452
|
|
405
453
|
will output a image section
|
406
454
|
|
407
|
-
|
455
|
+
```html
|
456
|
+
<figure class="image embedded">
|
457
|
+
<div class="img">
|
458
|
+
<img src="http://example.com/lovely-landscape.jpg" alt="A Lovely Landscape">
|
459
|
+
</div>
|
460
|
+
</figure>
|
461
|
+
```
|
408
462
|
|
409
463
|
### Link
|
410
464
|
|
@@ -426,7 +480,9 @@ with options provided
|
|
426
480
|
|
427
481
|
will output
|
428
482
|
|
429
|
-
|
483
|
+
```html
|
484
|
+
<p>A link to <a href="http://example.com">An excellent website</a></p>
|
485
|
+
```
|
430
486
|
|
431
487
|
### Contact
|
432
488
|
|
@@ -450,20 +506,22 @@ with options provided
|
|
450
506
|
|
451
507
|
will output
|
452
508
|
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
</div>
|
509
|
+
```html
|
510
|
+
<div id="contact_123" class="contact">
|
511
|
+
<div class="content">
|
512
|
+
<h3>Government Digital Service</h3>
|
513
|
+
<div class="vcard contact-inner">
|
514
|
+
<div class="email-url-number">
|
515
|
+
<p class="email">
|
516
|
+
<span class="type">Email</span>
|
517
|
+
<a href="mailto:people@digital.cabinet-office.gov.uk" class="email">people@digital.cabinet-office.gov.uk</a>
|
518
|
+
</p>
|
519
|
+
<p class="tel">
|
520
|
+
<span class="type">helpdesk</span>
|
521
|
+
+4412345 67890
|
522
|
+
</p>
|
468
523
|
</div>
|
469
524
|
</div>
|
525
|
+
</div>
|
526
|
+
</div>
|
527
|
+
```
|
data/lib/govspeak/version.rb
CHANGED
data/lib/govspeak.rb
CHANGED
@@ -190,7 +190,7 @@ module Govspeak
|
|
190
190
|
end
|
191
191
|
|
192
192
|
extension('attachment', /\[embed:attachments:(?!inline:|image:)\s*(.*?)\s*\]/) do |content_id, body|
|
193
|
-
attachment = attachments.detect { |a| a[:content_id]
|
193
|
+
attachment = attachments.detect { |a| a[:content_id] == content_id }
|
194
194
|
next "" unless attachment
|
195
195
|
attachment = AttachmentPresenter.new(attachment)
|
196
196
|
content = File.read(__dir__ + '/templates/attachment.html.erb')
|
@@ -198,7 +198,7 @@ module Govspeak
|
|
198
198
|
end
|
199
199
|
|
200
200
|
extension('attachment inline', /\[embed:attachments:inline:\s*(.*?)\s*\]/) do |content_id|
|
201
|
-
attachment = attachments.detect { |a| a[:content_id]
|
201
|
+
attachment = attachments.detect { |a| a[:content_id] == content_id }
|
202
202
|
next "" unless attachment
|
203
203
|
attachment = AttachmentPresenter.new(attachment)
|
204
204
|
span_id = attachment.id ? %{ id="attachment_#{attachment.id}"} : ""
|
@@ -210,7 +210,7 @@ module Govspeak
|
|
210
210
|
end
|
211
211
|
|
212
212
|
extension('attachment image', /\[embed:attachments:image:\s*(.*?)\s*\]/) do |content_id|
|
213
|
-
attachment = attachments.detect { |a| a[:content_id]
|
213
|
+
attachment = attachments.detect { |a| a[:content_id] == content_id }
|
214
214
|
next "" unless attachment
|
215
215
|
attachment = AttachmentPresenter.new(attachment)
|
216
216
|
title = (attachment.title || "").tr("\n", " ")
|
@@ -300,7 +300,7 @@ module Govspeak
|
|
300
300
|
end
|
301
301
|
|
302
302
|
extension('embed link', /\[embed:link:\s*(.*?)\s*\]/) do |content_id|
|
303
|
-
link = links.detect { |l| l[:content_id]
|
303
|
+
link = links.detect { |l| l[:content_id] == content_id }
|
304
304
|
next "" unless link
|
305
305
|
if link[:url]
|
306
306
|
"[#{link[:title]}](#{link[:url]})"
|
@@ -315,7 +315,7 @@ module Govspeak
|
|
315
315
|
private :render_hcard_address
|
316
316
|
|
317
317
|
extension('Contact', /\[Contact:\s*(.*?)\s*\]/) do |content_id|
|
318
|
-
contact = contacts.detect { |c| c[:content_id]
|
318
|
+
contact = contacts.detect { |c| c[:content_id] == content_id }
|
319
319
|
next "" unless contact
|
320
320
|
contact = ContactPresenter.new(contact)
|
321
321
|
@renderer ||= ERB.new(File.read(__dir__ + '/templates/contact.html.erb'))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govspeak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Griffiths
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: kramdown
|
@@ -233,6 +233,20 @@ dependencies:
|
|
233
233
|
- - ">="
|
234
234
|
- !ruby/object:Gem::Version
|
235
235
|
version: '0'
|
236
|
+
- !ruby/object:Gem::Dependency
|
237
|
+
name: govuk-lint
|
238
|
+
requirement: !ruby/object:Gem::Requirement
|
239
|
+
requirements:
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: '0'
|
243
|
+
type: :development
|
244
|
+
prerelease: false
|
245
|
+
version_requirements: !ruby/object:Gem::Requirement
|
246
|
+
requirements:
|
247
|
+
- - ">="
|
248
|
+
- !ruby/object:Gem::Version
|
249
|
+
version: '0'
|
236
250
|
description: |-
|
237
251
|
A set of extensions to markdown layered on top of the kramdown
|
238
252
|
library for use in the UK Government Single Domain project
|
@@ -305,17 +319,17 @@ signing_key:
|
|
305
319
|
specification_version: 4
|
306
320
|
summary: Markup language for single domain
|
307
321
|
test_files:
|
308
|
-
- test/
|
309
|
-
- test/
|
322
|
+
- test/govspeak_structured_headers_test.rb
|
323
|
+
- test/with_deep_merge_test.rb
|
310
324
|
- test/blockquote_extra_quote_remover_test.rb
|
311
|
-
- test/
|
325
|
+
- test/govspeak_test_helper.rb
|
326
|
+
- test/govspeak_link_test.rb
|
327
|
+
- test/govspeak_contacts_test.rb
|
312
328
|
- test/test_helper.rb
|
313
|
-
- test/
|
314
|
-
- test/
|
329
|
+
- test/html_validator_test.rb
|
330
|
+
- test/html_sanitizer_test.rb
|
315
331
|
- test/govspeak_attachments_inline_test.rb
|
316
|
-
- test/
|
332
|
+
- test/govspeak_test.rb
|
333
|
+
- test/govspeak_attachments_test.rb
|
317
334
|
- test/govspeak_attachments_image_test.rb
|
318
|
-
- test/
|
319
|
-
- test/html_validator_test.rb
|
320
|
-
- test/govspeak_structured_headers_test.rb
|
321
|
-
- test/govspeak_link_test.rb
|
335
|
+
- test/presenters/h_card_presenter_test.rb
|