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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e94ef372b40394892134b787b7deb9a1c69060622452f6d7eb41d0165346de14
4
- data.tar.gz: 55e0579bc857461d2ca7502957853264e4b176f5760b79e0dacdd3245a9f132c
3
+ metadata.gz: 550eb712315978bfe6985b74bce8ed0c2c8d69c94ecd0e78e3950d8822644aed
4
+ data.tar.gz: 5b51583ad31b2c00d9e490e983b6465a51fb84a334fff1ea42e24212f0d24968
5
5
  SHA512:
6
- metadata.gz: 53a957d89977260a054963342c8ef5d2aa9e270689fc6f78e1abed296489a18cb12a66c1b8ddfad6404599180c3cc61cd271e83a969064e272d39ec3b1a5373d
7
- data.tar.gz: 6f2af11238cb255f3f1506fa6bf31264dc8224972a68c41a33a99e0722e3e91db5f7296d37d460dddf301d90a8ec400ba14d9b8d04938415832c93089cdef8c5
6
+ metadata.gz: 9033a5b37fa0fdc30bce1c4d02d987d96f895dfad5b3adb6419bd5bad4c5fbd0074edcaa0de955fc1857764d159df8f54b4a7bd4ef4720c3f9b0edc3645ebdd4
7
+ data.tar.gz: ee00920f4806f49f74d36343218453f8e886fd93f12949b37dbc92fabeab6947237065f997fa13218ded3b492a5d7a4c40901d9707f7973d28b8318f4dfcbcca
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.4.10'
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.}
@@ -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 ["goat:", result1.inspect]
455
+ # warn ["text:", result.inspect]
456
+ # warn ["svg:", result1.inspect]
434
457
  file.unlink
435
- result1 = svg_clean(result1) unless t == "goat"
436
- result1, err, _s = Open3.capture3("svgcheck -Xqa", stdin_data: result1);
437
- capture_croak("svgcheck", err)
438
- # warn ["svgcheck:", result1.inspect]
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", "mermaid", "math"
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.10
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-05 00:00:00.000000000 Z
11
+ date: 2021-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown