kramdown-rfc2629 1.4.1 → 1.4.6

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: e810a295696230d06daa18981cff3c92ad0913175b717027788ee41351d4df6f
4
- data.tar.gz: 5d5db17408cc47211883b0d95071139d47fb7fd8d8391cb9eff59217e81c330d
3
+ metadata.gz: 4b0564f81e1af0b8fd748342c07d417a7d24a5eee8ec5a6cd64f79234ebc192a
4
+ data.tar.gz: 2f9e7421b5355b608bc5a41174317bccd4b55e95f1c2089228517003572f19e5
5
5
  SHA512:
6
- metadata.gz: 30d01f719beb7b67932396d4e28f6e1c4f9446029e04555706089e33615c305a673443922927136dad47f974c5c45cd871655a778c97347fa40a6f5454df7970
7
- data.tar.gz: ef7be0d8a0b914f67a871e813533ad5eee7280bb31d67047d688ddf164ce124763653980b6c097f4be596be4211d32062efae15e5726d90618aca709cc63a462
6
+ metadata.gz: e0aa2949a7d5d28eacdceff68e37fae0338a7f92abab5ed21fcb99414042c528521d844d8e92d14202a0b914eec685149c69dcbdb53d3089a0f72723872d4b63
7
+ data.tar.gz: 9424d9efbe85b3ca435ff1691f052097b579ff02247af53a5b463b2eb3cf50bed3761ad4386d87a93df32e6b9a87a4924e1c47eaae0e01b2163473a9e65bf950
data/README.md CHANGED
@@ -616,7 +616,7 @@ Other human-oriented markup input languages that are being used for authoring RF
616
616
  Since kramdown version 1.0, kramdown itself is MIT licensed, which
617
617
  made it possible to license kramdown-rfc2629 under the same license.
618
618
 
619
- [kramdown]: http://kramdown.rubyforge.org/
619
+ [kramdown]: https://kramdown.gettalong.org
620
620
  [kdsyntax]: http://kramdown.gettalong.org/syntax.html
621
621
  [kdsyntax-ial]: http://kramdown.gettalong.org/syntax.html#inline-attribute-lists
622
622
  [stupid]: http://tools.ietf.org/id/draft-hartke-xmpp-stupid-00
data/bin/doilit CHANGED
@@ -75,7 +75,11 @@ ARGV.each do |doi|
75
75
  if (ct = cite["container-title"]) && ct != []
76
76
  info = []
77
77
  if v = cite["volume"]
78
- info << "Vol. #{v}"
78
+ vi = "vol. #{v}"
79
+ if (v = cite["journal-issue"]) && (issue = v["issue"])
80
+ vi << ", no. #{issue}"
81
+ end
82
+ info << vi
79
83
  end
80
84
  if p = cite["page"]
81
85
  info << "pp. #{p}"
data/bin/kdrfc CHANGED
@@ -127,6 +127,9 @@ BANNER
127
127
  opts.on("-p", "--[no-]prep", "Convert xml to prepped xml") do |v|
128
128
  $options.prep = v
129
129
  end
130
+ opts.on("-P", "--[no-]pdf", "Convert xml to PDF") do |v|
131
+ $options.pdf = v
132
+ end
130
133
  opts.on("-c", "--[no-]convert", "Convert xml to v3 xml") do |v|
131
134
  $options.v2v3 = v
132
135
  end
@@ -150,6 +153,7 @@ def process_the_xml(fn, base)
150
153
  process_xml(fn, "#{base}.v2v3.xml", "--v2v3") if $options.v2v3
151
154
  process_xml(fn, "#{base}.txt") if $options.txt || $options.idnits
152
155
  process_xml(fn, "#{base}.html", "--html") if $options.html
156
+ process_xml(fn, "#{base}.pdf", "--pdf") if $options.pdf
153
157
  run_idnits("#{base}.txt") if $options.idnits
154
158
  end
155
159
 
data/bin/kramdown-rfc2629 CHANGED
@@ -14,7 +14,7 @@ Encoding.default_external = "UTF-8" # wake up, smell the coffee
14
14
 
15
15
  def boilerplate(key)
16
16
  case key.downcase
17
- when /\Abcp14(\+)?\z/i
17
+ when /\Abcp14(\+)?(-tagged)?\z/i
18
18
  ret = <<RFC8174
19
19
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
20
20
  NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
@@ -28,6 +28,26 @@ These words may also appear in this document in
28
28
  lower case as plain English words, absent their normative meanings.
29
29
  PLUS
30
30
  end
31
+ if $2
32
+ if $options.v3
33
+ ret << <<TAGGED
34
+
35
+ *[MUST]: <bcp14>
36
+ *[MUST NOT]: <bcp14>
37
+ *[REQUIRED]: <bcp14>
38
+ *[SHALL]: <bcp14>
39
+ *[SHALL NOT]: <bcp14>
40
+ *[SHOULD]: <bcp14>
41
+ *[SHOULD NOT]: <bcp14>
42
+ *[RECOMMENDED]: <bcp14>
43
+ *[NOT RECOMMENDED]: <bcp14>
44
+ *[MAY]: <bcp14>
45
+ *[OPTIONAL]: <bcp14>
46
+ TAGGED
47
+ else
48
+ warn "** need --v3 to tag bcp14"
49
+ end
50
+ end
31
51
  ret
32
52
  else
33
53
  warn "** Unknwon boilerplate key: #{key}"
@@ -1,3 +1,4 @@
1
+ 00a0
1
2
  00a1 !
2
3
  00a2 [cents]
3
4
  00a3 GBP
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.4.1'
3
+ s.version = '1.4.6'
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.}
@@ -32,6 +32,7 @@ module KramdownRFC
32
32
  <format type="<%=escattr(k)%>" target="<%=escattr(v)%>"/>
33
33
  <% end -%>
34
34
  <%= vps.ele("annotation=ann", nil, nil, true) -%>
35
+ <%= vps.ele("refcontent=rc", nil, nil, true) -%>
35
36
  </reference>
36
37
  REFERB
37
38
  ret = erb.result(binding)
@@ -102,10 +102,16 @@ module Kramdown
102
102
  when /\A(.*) \((#{SECTIONS_RE})\)\z/
103
103
  href = $1
104
104
  handle_bares($2, attr, "parens", href)
105
- when /\A([\w.]+)<(.*)\z/
105
+ when /\A([\w.]+)<(.+)\z/
106
106
  href = $2
107
107
  attr['section'] = $1
108
108
  attr['sectionFormat'] = 'bare'
109
+ when /\A<<(.+)\z/
110
+ href = $1
111
+ attr['format'] = 'title'
112
+ when /\A<(.+)\z/
113
+ href = $1
114
+ attr['format'] = 'counter'
109
115
  end
110
116
  end
111
117
  href = href.gsub(/\A[0-9]/) { "_#{$&}" } # can't start an IDREF with a number
@@ -399,7 +405,7 @@ COLORS
399
405
  # warn ["goat:", result1.inspect]
400
406
  file.unlink
401
407
  result1 = svg_clean(result1) unless t == "goat"
402
- result1, err, _s = Open3.capture3("svgcheck -qa", stdin_data: result1);
408
+ result1, err, _s = Open3.capture3("svgcheck -Xqa", stdin_data: result1);
403
409
  capture_croak("svgcheck", err)
404
410
  # warn ["svgcheck:", result1.inspect]
405
411
  if result1 == ''
@@ -698,7 +704,11 @@ COLORS
698
704
  end
699
705
 
700
706
  def convert_br(el, indent, opts)
701
- "<vspace />"
707
+ if $options.v3
708
+ "<br />"
709
+ else
710
+ "<vspace />"
711
+ end
702
712
  end
703
713
 
704
714
  def convert_a(el, indent, opts)
@@ -903,7 +913,7 @@ COLORS
903
913
  }
904
914
  else
905
915
  REXML::XPath.each(d.root, "/reference/format") { |x|
906
- x.attributes["target"].sub!(%r{https?://www.ietf.org/internet-drafts/},
916
+ x.attributes["target"].sub!(%r{https?://www.ietf.org/internet-drafts/},
907
917
  %{https://www.ietf.org/archive/id/}) if t == "I-D"
908
918
  }
909
919
  end
@@ -1069,6 +1079,9 @@ COLORS
1069
1079
  title = nil if title.empty?
1070
1080
  value = el.value
1071
1081
  if item = title
1082
+ if item == "<bcp14>" && $options.v3
1083
+ return "<bcp14>#{el.value}</bcp14>"
1084
+ end
1072
1085
  m = title.scan(Parser::RFC2629Kramdown::IREF_START)
1073
1086
  if m.empty?
1074
1087
  subitem = value
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.1
4
+ version: 1.4.6
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-03-22 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubygems_version: 3.2.3
103
+ rubygems_version: 3.2.15
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: Kramdown extension for generating RFC 7749 XML.