kramdown-rfc2629 1.5.22 → 1.5.24

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: 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