coradoc-adoc 2.0.13 → 2.0.14

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: e39d805fa1f2a5a0f7417223301a0935c858a8ccb157c57d420c8a3f8a90962b
4
- data.tar.gz: 369b807f0cdeacf1bd0fb420500301add3d3c334e8e3b202054b4c14834faf37
3
+ metadata.gz: 36de3b63e2c80a4abafb35c88ca1ba80eb52603af631191e16f26d6482a5398c
4
+ data.tar.gz: 53026d0cf6835c5824636ffd6455f2baceecc3ffdd510cc26c8b79910c180c4f
5
5
  SHA512:
6
- metadata.gz: 2fa932a43798666e4a1dc2c709433ba55fe8ef570e7d8cc2c9d178a94a058295ec70353abf09fb5069cba6c6afe9dac110f742809ca696446c79759c2734160a
7
- data.tar.gz: '091cdb09fb0cc658a60080718b536eacc6ddfd06056cf846e568af815c04f4dee05e1b8394cb0f246c324b9d903e73877f3219eaa4876ab69b0fb53204025868'
6
+ metadata.gz: 8c51394ca9c3bde2a4d7c329e01648ae54d51d6e95e767a85cbaedc8aac35894fccaa50a9d46bf629477d8ac897700b70fff92d060dcbc9acad7182f92913672
7
+ data.tar.gz: 1bc422db9eeb898056d1a79150a1efdf81bddce0f0895cfc1760d9e6cc1953ccfc0d29aa2718da79c5e637ae1afca3565c8a08832950e4bfc0c3b102d3a4ea5a
@@ -4,25 +4,13 @@ module Coradoc
4
4
  module AsciiDoc
5
5
  module Parser
6
6
  module Citation
7
- def xref_anchor
8
- match('[^,>]').repeat(1).as(:href_arg).repeat(1, 1)
9
- end
10
-
11
- def xref_str
12
- match('[^,>]').repeat(1).as(:text)
13
- end
14
-
15
- def xref_arg
16
- (str('section') | str('paragraph') | str('clause') | str('annex') | str('table')).as(:key) >>
17
- match('[ =]').as(:delimiter) >>
18
- match('[^,>=]').repeat(1).as(:value)
19
- end
20
-
7
+ # In `<<target,text>>`, the target is everything up to the first comma
8
+ # or closing `>`. The text is everything else up to `>` — it can
9
+ # contain commas, quotes, and any other punctuation.
21
10
  def cross_reference
22
- (str('<<') >> xref_anchor >>
23
- ((str(',') >> xref_arg).repeat(1) |
24
- (str(',') >> xref_str).repeat(1)
25
- ).maybe >>
11
+ (str('<<') >>
12
+ match('[^,>]').repeat(1).as(:href) >>
13
+ (str(',') >> match('[^>]').repeat(0).as(:text)).maybe >>
26
14
  str('>>')
27
15
  ).as(:cross_reference)
28
16
  end
@@ -27,20 +27,11 @@ module Coradoc
27
27
  end
28
28
 
29
29
  # Cross reference
30
- rule(href: simple(:href)) do
31
- Model::Inline::CrossReference.new(href: href.to_s)
32
- end
33
-
34
- rule(
35
- href: simple(:href),
36
- name: simple(:name)
37
- ) do
38
- Model::Inline::CrossReference.new(href: href.to_s, args: [name.to_s])
39
- end
40
-
41
- rule(cross_reference: sequence(:xref)) do
42
- args = xref.size > 1 ? xref[1..] : []
43
- Model::Inline::CrossReference.new(href: xref[0], args:)
30
+ rule(cross_reference: subtree(:xref)) do
31
+ href = xref[:href].to_s
32
+ text = xref[:text]
33
+ args = text ? [text.to_s] : []
34
+ Model::Inline::CrossReference.new(href:, args:)
44
35
  end
45
36
 
46
37
  # Inline image
@@ -88,11 +79,6 @@ module Coradoc
88
79
  Coradoc::AsciiDoc::Model::Inline::Footnote.new(text: text_str)
89
80
  end
90
81
 
91
- # Href arg
92
- rule(href_arg: simple(:href_arg)) do
93
- href_arg.to_s
94
- end
95
-
96
82
  # Inline formatting rules generated from a single registry.
97
83
  # See InlineRules::FORMATTING_VARIANTS. `span` is special
98
84
  # because it carries `text:` + `attributes:` rather than
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Coradoc
4
4
  module AsciiDoc
5
- VERSION = '2.0.13'
5
+ VERSION = '2.0.14'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coradoc-adoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.13
4
+ version: 2.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.