kramdown-rfc2629 1.4.10 → 1.4.11
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 +4 -4
- data/kramdown-rfc2629.gemspec +1 -1
- data/lib/kramdown-rfc2629.rb +32 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 550eb712315978bfe6985b74bce8ed0c2c8d69c94ecd0e78e3950d8822644aed
|
4
|
+
data.tar.gz: 5b51583ad31b2c00d9e490e983b6465a51fb84a334fff1ea42e24212f0d24968
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9033a5b37fa0fdc30bce1c4d02d987d96f895dfad5b3adb6419bd5bad4c5fbd0074edcaa0de955fc1857764d159df8f54b4a7bd4ef4720c3f9b0edc3645ebdd4
|
7
|
+
data.tar.gz: ee00920f4806f49f74d36343218453f8e886fd93f12949b37dbc92fabeab6947237065f997fa13218ded3b492a5d7a4c40901d9707f7973d28b8318f4dfcbcca
|
data/kramdown-rfc2629.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
2
2
|
s.name = 'kramdown-rfc2629'
|
3
|
-
s.version = '1.4.
|
3
|
+
s.version = '1.4.11'
|
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.}
|
data/lib/kramdown-rfc2629.rb
CHANGED
@@ -363,6 +363,19 @@ COLORS
|
|
363
363
|
end
|
364
364
|
end
|
365
365
|
|
366
|
+
def svg_clean_kgt(s)
|
367
|
+
d = REXML::Document.new(s)
|
368
|
+
REXML::XPath.each(d.root, "//rect|//line|//path") do |x|
|
369
|
+
x.attributes["fill"] = "none"
|
370
|
+
x.attributes["stroke"] = "black"
|
371
|
+
x.attributes["stroke-width"] = "1.5"
|
372
|
+
end
|
373
|
+
d.to_s
|
374
|
+
rescue => detail
|
375
|
+
warn "*** Can't clean SVG: #{detail}"
|
376
|
+
d
|
377
|
+
end
|
378
|
+
|
366
379
|
def svg_clean(s) # expensive, risky
|
367
380
|
d = REXML::Document.new(s)
|
368
381
|
REXML::XPath.each(d.root, "//*[@shape-rendering]") { |x| x.attributes["shape-rendering"] = nil } #; warn x.inspect }
|
@@ -407,9 +420,12 @@ COLORS
|
|
407
420
|
file = Tempfile.new("kramdown-rfc")
|
408
421
|
file.write(result)
|
409
422
|
file.close
|
423
|
+
dont_clean = false
|
424
|
+
dont_check = false
|
410
425
|
case t
|
411
426
|
when "goat"
|
412
427
|
result1, err, _s = Open3.capture3("goat #{file.path}", stdin_data: result);
|
428
|
+
dont_clean = true
|
413
429
|
when "ditaa" # XXX: This needs some form of option-setting
|
414
430
|
result1, err, _s = Open3.capture3("ditaa #{file.path} --svg -o -", stdin_data: result);
|
415
431
|
when "mscgen"
|
@@ -424,18 +440,27 @@ COLORS
|
|
424
440
|
result1, err, _s = Open3.capture3("plantuml -pipe -tsvg", stdin_data: plantuml);
|
425
441
|
result, err1, _s = Open3.capture3("plantuml -pipe -tutxt", stdin_data: plantuml) if t == "plantuml-utxt"
|
426
442
|
err << err1.to_s
|
443
|
+
when "railroad", "railroad-utf8"
|
444
|
+
result1, err1, _s = Open3.capture3("kgt -l abnf -e svg", stdin_data: result);
|
445
|
+
result1 = svg_clean_kgt(result1); dont_clean = true
|
446
|
+
result, err, _s = Open3.capture3("kgt -l abnf -e rr#{t == "railroad" ? "text" : "utf8"}",
|
447
|
+
stdin_data: result);
|
448
|
+
err << err1.to_s
|
427
449
|
when "math"
|
428
450
|
result1, err, _s = Open3.capture3("tex2svg --font STIX --speech=false #{Shellwords.escape(' ' << result)}");
|
429
451
|
result, err1, _s = Open3.capture3("asciitex -f #{file.path}")
|
430
452
|
err << err1
|
431
453
|
end
|
432
454
|
capture_croak(t, err)
|
433
|
-
# warn ["
|
455
|
+
# warn ["text:", result.inspect]
|
456
|
+
# warn ["svg:", result1.inspect]
|
434
457
|
file.unlink
|
435
|
-
result1 = svg_clean(result1) unless
|
436
|
-
|
437
|
-
|
438
|
-
|
458
|
+
result1 = svg_clean(result1) unless dont_clean
|
459
|
+
unless dont_check
|
460
|
+
result1, err, _s = Open3.capture3("svgcheck -Xqa", stdin_data: result1);
|
461
|
+
# warn ["svgcheck:", result1.inspect]
|
462
|
+
capture_croak("svgcheck", err)
|
463
|
+
end
|
439
464
|
if result1 == ''
|
440
465
|
warn "*** could not create svg for #{result.inspect[0...20]}..."
|
441
466
|
exit 65 # EX_DATAERR
|
@@ -490,7 +515,8 @@ COLORS
|
|
490
515
|
end
|
491
516
|
end
|
492
517
|
case t
|
493
|
-
when "goat", "ditaa", "mscgen", "plantuml", "plantuml-utxt",
|
518
|
+
when "goat", "ditaa", "mscgen", "plantuml", "plantuml-utxt",
|
519
|
+
"railroad", "railroad-utf8", "mermaid", "math"
|
494
520
|
if gi
|
495
521
|
warn "*** Can't set GI #{gi} for composite SVG artset"
|
496
522
|
end
|
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.4.
|
4
|
+
version: 1.4.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|