kramdown-rfc2629 1.3.6 → 1.3.7

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: 1e3841f678d76c4d73defa155b115f469ef181b369227d624d3be69f41eff93d
4
- data.tar.gz: 86da53ed48aaa34cd534874da56abba7ae75af01a2dd15762caac9ede12f5b39
3
+ metadata.gz: 6b34bf25043259c59faad1a28e37420d84708298d7d1132954855e9bc9f80469
4
+ data.tar.gz: 598bdd61e5206c389e32e8014469688f516abf4c3b965fc8c14ddd9f10210d63
5
5
  SHA512:
6
- metadata.gz: d3363ee22d99d9c342276cb985c792a2ae48464a76d0342e4d0c59d11b065bfc9712dd1f38e351822187d894c57bd9f8c2c965213e8a73d8d7d65d1b277c7504
7
- data.tar.gz: 7bdb2de65cf53a929b377a3f06140e69225d5e50eaeb2abbc38ffa82e71157f6e434123b18b7029482b37d1939c0ef822efa3cb58b8adf2fd2191d7b8a47b514
6
+ metadata.gz: ef912cb94fce48cb61f0a352d9a2b0c701eb9c8149fe46608fdff508f2e974289a777d773a5a95dbc433c7cfbbd667aacf0391b68371aa549baabf75a325890d
7
+ data.tar.gz: c54c3cc14bdefcbae8a9650522653851af06b9c054ac239eb0555714c85fe5dd14e03fa5d16836c6e12ee83a559ed808c4c4e79d8665592966688f5b6fcba5bd
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.3.6'
3
+ s.version = '1.3.7'
4
4
  s.summary = "Kramdown extension for generating RFC 7749 XML."
5
5
  s.description = %{An RFC7749 (XML2RFC) generating backend for Thomas Leitner's
6
6
  "kramdown" markdown parser. Mostly useful for RFC writers.}
@@ -150,6 +150,16 @@ module Kramdown
150
150
  generate_id(value).gsub(/-+/, '-')
151
151
  end
152
152
 
153
+ def svg_clean(s) # expensive, risky
154
+ require "rexml/document"
155
+ d = REXML::Document.new(s)
156
+ REXML::XPath.each(d.root, "//*[@shape-rendering]") { |x| x.attributes["shape-rendering"] = nil } #; warn x.inspect }
157
+ REXML::XPath.each(d.root, "//*[@text-rendering]") { |x| x.attributes["text-rendering"] = nil } #; warn x.inspect }
158
+ REXML::XPath.each(d.root, "//*[@stroke='#000000']") { |x| x.attributes["stroke"] = "black" } #; warn x.inspect }
159
+ REXML::XPath.each(d.root, "//*[@stroke='none']") { |x| x.attributes["stroke"] = nil } #; warn x.inspect }
160
+ d.to_s
161
+ end
162
+
153
163
  def convert_codeblock(el, indent, opts)
154
164
  # el.attr['anchor'] ||= saner_generate_id(el.value) -- no longer in 1.0.6
155
165
  result = el.value
@@ -194,12 +204,21 @@ module Kramdown
194
204
  end
195
205
  end
196
206
  case t
197
- when "goat"
207
+ when "goat", "ditaa", "mscgen"
198
208
  require 'tempfile'
199
209
  file = Tempfile.new("kramdown-rfc")
200
210
  file.write(result)
201
211
  file.close
202
- result1, _s = Open3.capture2("goat #{file.path}", stdin_data: result);
212
+ case t
213
+ when "goat"
214
+ result1, _s = Open3.capture2("goat #{file.path}", stdin_data: result);
215
+ when "ditaa" # XXX: This needs some form of option-setting
216
+ result1, _s = Open3.capture2("ditaa #{file.path} --svg -o -", stdin_data: result);
217
+ result1 = svg_clean(result1)
218
+ when "mscgen"
219
+ result1, _s = Open3.capture2("mscgen -T svg -i #{file.path} -o -", stdin_data: result);
220
+ result1 = svg_clean(result1)
221
+ end
203
222
  # warn ["goat:", result1.inspect]
204
223
  file.unlink
205
224
  result1, _s = Open3.capture2("svgcheck -qa", stdin_data: result1);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-rfc2629
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-21 00:00:00.000000000 Z
11
+ date: 2020-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown