kramdown-rfc2629 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
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