govspeak 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/README.md +3 -3
- data/lib/govspeak.rb +4 -4
- data/lib/govspeak/html_sanitizer.rb +1 -1
- data/lib/govspeak/version.rb +1 -1
- data/test/govspeak_test.rb +10 -10
- data/test/govspeak_test_helper.rb +1 -3
- metadata +7 -7
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -30,7 +30,7 @@ In addition to the [standard Markdown syntax](http://daringfireball.net/projects
|
|
30
30
|
|
31
31
|
creates a callout with an info (i) icon.
|
32
32
|
|
33
|
-
<div class="application-notice info-notice">
|
33
|
+
<div role="note" aria-label="Information" class="application-notice info-notice">
|
34
34
|
<p>This is an information callout</p>
|
35
35
|
</div>
|
36
36
|
|
@@ -40,7 +40,7 @@ creates a callout with an info (i) icon.
|
|
40
40
|
|
41
41
|
creates a callout with a warning or alert (!) icon
|
42
42
|
|
43
|
-
<div class="application-notice help-notice">
|
43
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
44
44
|
<p>This is a warning callout</p>
|
45
45
|
</div>
|
46
46
|
|
@@ -64,7 +64,7 @@ creates an example box
|
|
64
64
|
|
65
65
|
highlights the enclosed text in yellow
|
66
66
|
|
67
|
-
<h3 class="advisory">
|
67
|
+
<h3 role="note" aria-label="Important" class="advisory">
|
68
68
|
<span>This is a very important message or warning</span>
|
69
69
|
</h3>
|
70
70
|
|
data/lib/govspeak.rb
CHANGED
@@ -24,8 +24,8 @@ module Govspeak
|
|
24
24
|
|
25
25
|
def initialize(source, options = {})
|
26
26
|
@source = source ? source.dup : ""
|
27
|
+
@images = options.delete(:images) || []
|
27
28
|
@options = {input: PARSER_CLASS_NAME, entity_output: :symbolic}.merge(options)
|
28
|
-
@images = []
|
29
29
|
end
|
30
30
|
|
31
31
|
def kramdown_doc
|
@@ -116,16 +116,16 @@ module Govspeak
|
|
116
116
|
}
|
117
117
|
|
118
118
|
extension('informational', surrounded_by("^")) { |body|
|
119
|
-
%{\n\n<div class="application-notice info-notice">
|
119
|
+
%{\n\n<div role="note" aria-label="Information" class="application-notice info-notice">
|
120
120
|
#{Govspeak::Document.new(body.strip).to_html}</div>\n}
|
121
121
|
}
|
122
122
|
|
123
123
|
extension('important', surrounded_by("@")) { |body|
|
124
|
-
%{\n\n<div class="advisory">#{insert_strong_inside_p(body)}</div>\n}
|
124
|
+
%{\n\n<div role="note" aria-label="Important" class="advisory">#{insert_strong_inside_p(body)}</div>\n}
|
125
125
|
}
|
126
126
|
|
127
127
|
extension('helpful', surrounded_by("%")) { |body|
|
128
|
-
%{\n\n<div class="application-notice help-notice">\n#{Govspeak::Document.new(body.strip).to_html}</div>\n}
|
128
|
+
%{\n\n<div role="note" aria-label="Help" class="application-notice help-notice">\n#{Govspeak::Document.new(body.strip).to_html}</div>\n}
|
129
129
|
}
|
130
130
|
|
131
131
|
extension('attached-image', /^!!([0-9]+)/) do |image_number|
|
@@ -42,7 +42,7 @@ class Govspeak::HtmlSanitizer
|
|
42
42
|
def sanitize_config
|
43
43
|
deep_merge(Sanitize::Config::RELAXED, {
|
44
44
|
attributes: {
|
45
|
-
:all => Sanitize::Config::RELAXED[:attributes][:all] + [ "id", "class" ],
|
45
|
+
:all => Sanitize::Config::RELAXED[:attributes][:all] + [ "id", "class", "role", "aria-label" ],
|
46
46
|
"a" => Sanitize::Config::RELAXED[:attributes]["a"] + [ "rel" ],
|
47
47
|
},
|
48
48
|
elements: Sanitize::Config::RELAXED[:elements] + [ "div", "span" ],
|
data/lib/govspeak/version.rb
CHANGED
data/test/govspeak_test.rb
CHANGED
@@ -82,7 +82,7 @@ Teston
|
|
82
82
|
|
83
83
|
test_given_govspeak("^ I am very informational ^") do
|
84
84
|
assert_html_output %{
|
85
|
-
<div class="application-notice info-notice">
|
85
|
+
<div role="note" aria-label="Information" class="application-notice info-notice">
|
86
86
|
<p>I am very informational</p>
|
87
87
|
</div>}
|
88
88
|
assert_text_output "I am very informational"
|
@@ -98,7 +98,7 @@ Teston
|
|
98
98
|
assert_html_output %{
|
99
99
|
<p>The following is very informational</p>
|
100
100
|
|
101
|
-
<div class="application-notice info-notice">
|
101
|
+
<div role="note" aria-label="Information" class="application-notice info-notice">
|
102
102
|
<p>I am very informational</p>
|
103
103
|
</div>}
|
104
104
|
assert_text_output "The following is very informational I am very informational"
|
@@ -106,7 +106,7 @@ Teston
|
|
106
106
|
|
107
107
|
test_given_govspeak "^ I am very informational" do
|
108
108
|
assert_html_output %{
|
109
|
-
<div class="application-notice info-notice">
|
109
|
+
<div role="note" aria-label="Information" class="application-notice info-notice">
|
110
110
|
<p>I am very informational</p>
|
111
111
|
</div>}
|
112
112
|
assert_text_output "I am very informational"
|
@@ -114,7 +114,7 @@ Teston
|
|
114
114
|
|
115
115
|
test_given_govspeak "@ I am very important @" do
|
116
116
|
assert_html_output %{
|
117
|
-
<div class="advisory"><p><strong>I am very important</strong></p>
|
117
|
+
<div role="note" aria-label="Important" class="advisory"><p><strong>I am very important</strong></p>
|
118
118
|
</div>}
|
119
119
|
assert_text_output "I am very important"
|
120
120
|
end
|
@@ -126,14 +126,14 @@ Teston
|
|
126
126
|
assert_html_output %{
|
127
127
|
<p>The following is very important</p>
|
128
128
|
|
129
|
-
<div class="advisory"><p><strong>I am very important</strong></p>
|
129
|
+
<div role="note" aria-label="Important" class="advisory"><p><strong>I am very important</strong></p>
|
130
130
|
</div>}
|
131
131
|
assert_text_output "The following is very important I am very important"
|
132
132
|
end
|
133
133
|
|
134
134
|
test_given_govspeak "% I am very helpful %" do
|
135
135
|
assert_html_output %{
|
136
|
-
<div class="application-notice help-notice">
|
136
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
137
137
|
<p>I am very helpful</p>
|
138
138
|
</div>}
|
139
139
|
assert_text_output "I am very helpful"
|
@@ -143,7 +143,7 @@ Teston
|
|
143
143
|
assert_html_output %{
|
144
144
|
<p>The following is very helpful</p>
|
145
145
|
|
146
|
-
<div class="application-notice help-notice">
|
146
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
147
147
|
<p>I am very helpful</p>
|
148
148
|
</div>}
|
149
149
|
assert_text_output "The following is very helpful I am very helpful"
|
@@ -153,7 +153,7 @@ Teston
|
|
153
153
|
assert_html_output %{
|
154
154
|
<h2 id="hello">Hello</h2>
|
155
155
|
|
156
|
-
<div class="application-notice help-notice">
|
156
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
157
157
|
<p>I am very helpful</p>
|
158
158
|
</div>
|
159
159
|
|
@@ -163,7 +163,7 @@ Teston
|
|
163
163
|
|
164
164
|
test_given_govspeak "% I am very helpful" do
|
165
165
|
assert_html_output %{
|
166
|
-
<div class="application-notice help-notice">
|
166
|
+
<div role="note" aria-label="Help" class="application-notice help-notice">
|
167
167
|
<p>I am very helpful</p>
|
168
168
|
</div>}
|
169
169
|
assert_text_output "I am very helpful"
|
@@ -533,7 +533,7 @@ $CTA
|
|
533
533
|
|
534
534
|
test_given_govspeak "@ Message with [a link](http://foo.bar/)@" do
|
535
535
|
assert_html_output %{
|
536
|
-
<div class="advisory"><p><strong>Message with <a rel="external" href="http://foo.bar/">a link</a></strong></p>
|
536
|
+
<div role="note" aria-label="Important" class="advisory"><p><strong>Message with <a rel="external" href="http://foo.bar/">a link</a></strong></p>
|
537
537
|
</div>
|
538
538
|
}
|
539
539
|
end
|
@@ -13,9 +13,7 @@ module GovspeakTestHelper
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def document
|
16
|
-
Govspeak::Document.new(@govspeak, @options
|
17
|
-
doc.images = @images
|
18
|
-
end
|
16
|
+
Govspeak::Document.new(@govspeak, @options.merge(:images => @images))
|
19
17
|
end
|
20
18
|
|
21
19
|
def assert_text_output(raw_expected)
|
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: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-01-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: kramdown
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
requirements:
|
68
68
|
- - ~>
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 1.5
|
70
|
+
version: '1.5'
|
71
71
|
type: :runtime
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 1.5
|
78
|
+
version: '1.5'
|
79
79
|
- !ruby/object:Gem::Dependency
|
80
80
|
name: rake
|
81
81
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,7 +184,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
184
184
|
version: '0'
|
185
185
|
segments:
|
186
186
|
- 0
|
187
|
-
hash:
|
187
|
+
hash: 4296798786801736357
|
188
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
189
|
none: false
|
190
190
|
requirements:
|
@@ -193,10 +193,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: '0'
|
194
194
|
segments:
|
195
195
|
- 0
|
196
|
-
hash:
|
196
|
+
hash: 4296798786801736357
|
197
197
|
requirements: []
|
198
198
|
rubyforge_project:
|
199
|
-
rubygems_version: 1.8.23
|
199
|
+
rubygems_version: 1.8.23.2
|
200
200
|
signing_key:
|
201
201
|
specification_version: 3
|
202
202
|
summary: Markup language for single domain
|