kramdown-rfc2629 1.5.22 → 1.5.24

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: 90fd02030501ff7ce234af8b2f2412b5c1372c8e865b368db995ab0a32347dc0
4
- data.tar.gz: 31d7f8eed4b7adc64e8ff4458368e1380351089aa44478faf2987a78239d5cae
3
+ metadata.gz: d7c7ac571f000360c4b8aca5450e5439c2d50b71fb85872ad2890e575c986c9b
4
+ data.tar.gz: 1af9f4b9d49c2176143a61b7c24f3bc9f13302a2bbef6a5cc90a379596b5ff04
5
5
  SHA512:
6
- metadata.gz: a39fa3bf7a2703f958dbc443d1d8d850a0a89ec9797f619218e921cdadd372e4466f628a1a3dbf13f178163a16f92141026ac34bfd52c82f1950fd3780d187aa
7
- data.tar.gz: f02da291a9a611a4cb21097c2f31ee490a6327558cf1d66018279c89ef5f56f4ad87884046b19e44d347d5946346d0108a017e19aabb6b0db180f53a9847430a
6
+ metadata.gz: 58d5ed0d4e9ec45f285a2230055a5cdbc4393a0eec6fe5722c170a965a4d24a6f5a73bf16e14e83b38fa6029a6942edacf88f5621f2e2c5c0aabd2223f73bc9f
7
+ data.tar.gz: 748fbf3adced720c4cdb48c346174d4660a17b670ee5f12fc315fd252d3353c7e8c8569bba1d4526f2c8016c85d524160e9bfac5749f3e1f40b7932c048d3a01
data/bin/kramdown-rfc2629 CHANGED
@@ -25,13 +25,53 @@ def add_quote(s)
25
25
  l.map {|li| "> #{li}"}.join
26
26
  end
27
27
 
28
- def process_chunk(s, dedent, fold, quote)
28
+ def process_chunk(s, nested, dedent, fold, quote)
29
+ process_includes(s) if nested
29
30
  s = remove_indentation(s) if dedent
30
31
  s = fold8792_1(s) if fold
31
32
  s = add_quote(s) if quote
32
33
  s
33
34
  end
34
35
 
36
+ def process_includes(input)
37
+ input.gsub!(/^\{::include((?:-[a-z]+)*)\s+(.*?)\}/) {
38
+ include_flags = $1
39
+ fn = [$2]
40
+ chunks = false
41
+ nested = false
42
+ dedent = false
43
+ fold = false
44
+ quote = false
45
+ include_flags.split("-") do |flag|
46
+ case flag
47
+ when ""
48
+ when "nested"
49
+ nested = true
50
+ when "quote"
51
+ quote = true
52
+ when "dedent"
53
+ dedent = true
54
+ when "fold"
55
+ fold = true
56
+ when "all", "last"
57
+ fn = fn.flat_map{|n| Dir[n]}
58
+ fn = [fn.last] if flag == "last"
59
+ chunks = fn.map{ |f|
60
+ ret = process_chunk(File.read(f), nested, dedent, fold, quote)
61
+ nested = false; dedent = false; fold = false; quote = false
62
+ ret
63
+ }
64
+ else
65
+ warn "** unknown include flag #{flag}"
66
+ end
67
+ end
68
+ chunks = fn.map{|f| File.read(f)} unless chunks # no all/last
69
+ chunks = chunks.map {|ch| process_chunk(ch, nested, dedent, fold, quote)}
70
+ chunks.join.chomp
71
+ }
72
+ end
73
+
74
+
35
75
  def boilerplate(key)
36
76
  case key.downcase
37
77
  when /\Abcp14(info)?(\+)?(-tagged)?\z/i
@@ -457,38 +497,7 @@ if input[-1] != "\n"
457
497
  # warn "*** added missing newline at end"
458
498
  input << "\n" # fix #26
459
499
  end
460
- input.gsub!(/^\{::include((?:-[a-z]+)*)\s+(.*?)\}/) {
461
- include_flags = $1
462
- fn = [$2]
463
- chunks = false
464
- dedent = false
465
- fold = false
466
- quote = false
467
- include_flags.split("-") do |flag|
468
- case flag
469
- when ""
470
- when "quote"
471
- quote = true
472
- when "dedent"
473
- dedent = true
474
- when "fold"
475
- fold = true
476
- when "all", "last"
477
- fn = fn.flat_map{|n| Dir[n]}
478
- fn = [fn.last] if flag == "last"
479
- chunks = fn.map{ |f|
480
- ret = process_chunk(File.read(f), dedent, fold, quote)
481
- dedent = false; quote = false
482
- ret
483
- }
484
- else
485
- warn "** unknown include flag #{flag}"
486
- end
487
- end
488
- chunks = fn.map{|f| File.read(f)} unless chunks # no all/last
489
- chunks = chunks.map {|ch| process_chunk(ch, dedent, fold, quote)}
490
- chunks.join.chomp
491
- } unless ENV["KRAMDOWN_SAFE"]
500
+ process_includes(input) unless ENV["KRAMDOWN_SAFE"]
492
501
  input.gsub!(/^\{::boilerplate\s+(.*?)\}/) {
493
502
  boilerplate($1)
494
503
  }
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.5.22'
3
+ s.version = '1.5.24'
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.}
@@ -1323,7 +1323,7 @@ COLORS
1323
1323
  if target == "#"
1324
1324
  target = value
1325
1325
  else
1326
- target = target[1..]
1326
+ target = target[1..-1]
1327
1327
  end
1328
1328
  else
1329
1329
  target = nil
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.5.22
4
+ version: 1.5.24
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-12-13 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown