kramdown-rfc2629 1.3.12 → 1.3.13

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: 5d3330c913ba1b37ea44ab8809327795a034032a8c038644f589e0e7dd651b89
4
- data.tar.gz: cd10426342a1efd28a7c5a9e641539a9982da6b9b4dc8568fe25504406e70efd
3
+ metadata.gz: fe573235c508ba9d089f72b578a53ea8507b53d82a539539228982a799e830a7
4
+ data.tar.gz: b7541fa31e84a9428f18541f2bef57b63984e1b3b9c193e4c28c82cdd3e2bcbb
5
5
  SHA512:
6
- metadata.gz: 57cfd0d61702a4b6308ccf53407dcafd4d355fac59d01f7e36c73d287d3d4418410f7dc370c62a91870ae1af3418132aea313fab73103c9f719b14adf08dffaa
7
- data.tar.gz: 04d8106f180f4b0340984a2e81bfea4736a98d16c38446d833b24588bdc5637076485c9fc5eaf89fe01b05d00a0c62242fc821a3bf20b652c1d268838158a5ec
6
+ metadata.gz: 754f2d2d69f025e73037aaf86b6b315eb362251b3fd1c4f070adb4c7a380d9c05bef9445c863aa0e0e4c4877d5d0eb2f0e38b5b120a9a86642969b8b81673ccf
7
+ data.tar.gz: 53a5b1caa470513f06a4bf28618b35f45ae2632cda64edc3e64e2e894d91e780272da81c383d0967aa6e98553f39286f4daa8ddaf97c299397e30f7d0d423a1a
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.3.12'
3
+ s.version = '1.3.13'
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.}
@@ -37,16 +37,27 @@ module Kramdown
37
37
  @span_parsers.unshift(:iref)
38
38
  end
39
39
 
40
- XREF_START = /\{\{(.*?)\}\}/u
40
+ XREF_START = /\{\{(?:(?:\{(.*?)\}(?:\{(.*?)\})?)|(.*?))((?:\}\})|\})/u
41
41
 
42
42
  # Introduce new {{target}} syntax for empty xrefs, which would
43
43
  # otherwise be an ugly ![!](target) or ![ ](target)
44
44
  # (I'd rather use [[target]], but that somehow clashes with links.)
45
45
  def parse_xref
46
46
  @src.pos += @src.matched_size
47
- href = @src[1]
48
- href = href.gsub(/\A[0-9]/) { "_#{$&}" } # can't start an IDREF with a number
49
- el = Element.new(:xref, nil, {'target' => href})
47
+ unless @src[4] == "}}"
48
+ warn "*** #{@src[0]}: unmatched braces #{@src[4].inspect}"
49
+ end
50
+ if contact_name = @src[1]
51
+ attr = {'fullname' => contact_name}
52
+ if ascii_name = @src[2]
53
+ attr["asciiFullname"] = ascii_name
54
+ end
55
+ el = Element.new(:contact, nil, attr)
56
+ else
57
+ href = @src[3]
58
+ href = href.gsub(/\A[0-9]/) { "_#{$&}" } # can't start an IDREF with a number
59
+ el = Element.new(:xref, nil, {'target' => href})
60
+ end
50
61
  @tree.children << el
51
62
  end
52
63
  define_parser(:xref, XREF_START, '{{')
@@ -524,6 +535,10 @@ COLORS
524
535
  end
525
536
  end
526
537
 
538
+ def convert_contact(el, indent, opts)
539
+ "<contact#{el_html_attributes(el)}/>"
540
+ end
541
+
527
542
  REFCACHEDIR = ENV["KRAMDOWN_REFCACHEDIR"] || ".refcache"
528
543
 
529
544
  # warn "*** REFCACHEDIR #{REFCACHEDIR}"
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.3.12
4
+ version: 1.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown