metanorma-standoc 1.3.1 → 1.3.2

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: da7f659bff4d006bb019e303f8d6df764a6870e5ddf6b68d5a710fa160aae5dd
4
- data.tar.gz: 65427fce326003810d75ca1fe4a004a117d9d6076f3c676930c8e286b140dd71
3
+ metadata.gz: 7b1329080ec2d0fd0e0a0f14ef3e59ebacf0d3a7eddb0d44510ef16966073705
4
+ data.tar.gz: 46051f44a1e660df4357ab06e6018d861698d12679f6002cb46f17d9b0b62684
5
5
  SHA512:
6
- metadata.gz: '08993a10718efddd39418bb9af4018d55a9e6e0882d6d4cb39cbe8d0b274b4b419c9cb353e2f1606e4851d42b1e668cb8579c5a660bbd1ed651b32bd76823879'
7
- data.tar.gz: aa26abdc106f10ea716c2bc98a811e5734cad920f70076dc392fb0ab2743e079cae42195483d81dc271494af8f60592fc7b9f16dfe28f6d39c03e4f6b63c8cb6
6
+ metadata.gz: f044364c1ac18e56ee6c186c919d0cd332c5253a6e4cc1bb6bc09bbbf5233c74c6f42d10314c4598305d21e5450c5b29ef57d62b6662394c2137d39c965c7d35
7
+ data.tar.gz: f6806351c9621bfb2bfac2ae868593ce9088c4361d99285495368e3faa6550dbcaa0fa4d88fd3f19238536bd32837182470321f3b9734a33f0807d95ca2719e9
data/Gemfile CHANGED
@@ -2,6 +2,10 @@ Encoding.default_external = Encoding::UTF_8
2
2
  Encoding.default_internal = Encoding::UTF_8
3
3
 
4
4
  source "https://rubygems.org"
5
+ git_source(:github) { |repo| "https://github.com/#{repo}" }
5
6
 
6
- # Specify your gem's dependencies in gemspec
7
7
  gemspec
8
+
9
+ if File.exist? 'Gemfile.devel'
10
+ eval File.read('Gemfile.devel'), nil, 'Gemfile.devel' # rubocop:disable Security/Eval
11
+ end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metanorma-standoc (1.3.1)
4
+ metanorma-standoc (1.3.2)
5
5
  asciidoctor (~> 1.5.7)
6
6
  concurrent-ruby
7
7
  html2doc (~> 0.8.11)
@@ -18,9 +18,6 @@ GEM
18
18
  specs:
19
19
  addressable (2.7.0)
20
20
  public_suffix (>= 2.0.2, < 5.0)
21
- algoliasearch (1.26.1)
22
- httpclient (~> 2.8, >= 2.8.3)
23
- json (>= 1.5.1)
24
21
  asciidoctor (1.5.8)
25
22
  asciimath (1.0.8)
26
23
  ast (2.4.0)
@@ -34,10 +31,12 @@ GEM
34
31
  docile (1.3.2)
35
32
  equivalent-xml (0.6.0)
36
33
  nokogiri (>= 1.4.3)
34
+ faraday (0.15.4)
35
+ multipart-post (>= 1.2, < 3)
37
36
  ffi (1.11.1)
38
37
  formatador (0.2.5)
39
38
  gb-agencies (0.0.5)
40
- guard (2.15.0)
39
+ guard (2.15.1)
41
40
  formatador (>= 0.2.4)
42
41
  listen (>= 2.7, < 4.0)
43
42
  lumberjack (>= 1.0.12, < 2.0)
@@ -61,11 +60,10 @@ GEM
61
60
  thread_safe
62
61
  uuidtools
63
62
  htmlentities (4.3.4)
64
- httpclient (2.8.3)
65
63
  iev (0.2.2)
66
64
  nokogiri
67
65
  image_size (2.0.2)
68
- isodoc (1.0.1)
66
+ isodoc (1.0.2)
69
67
  asciimath
70
68
  html2doc (~> 0.8.11)
71
69
  htmlentities (~> 4.3.4)
@@ -89,10 +87,11 @@ GEM
89
87
  asciidoctor
90
88
  htmlentities
91
89
  method_source (0.9.2)
92
- mime-types (3.2.2)
90
+ mime-types (3.3)
93
91
  mime-types-data (~> 3.2015)
94
- mime-types-data (3.2019.0331)
92
+ mime-types-data (3.2019.0904)
95
93
  mini_portile2 (2.4.0)
94
+ multipart-post (2.1.1)
96
95
  nenv (0.3.0)
97
96
  nokogiri (1.10.4)
98
97
  mini_portile2 (~> 2.4.0)
@@ -101,7 +100,7 @@ GEM
101
100
  shellany (~> 0.0)
102
101
  optout (0.0.2)
103
102
  parallel (1.17.0)
104
- parser (2.6.4.0)
103
+ parser (2.6.4.1)
105
104
  ast (~> 2.4.0)
106
105
  powerpack (0.1.2)
107
106
  pry (0.12.2)
@@ -113,40 +112,43 @@ GEM
113
112
  rb-fsevent (0.10.3)
114
113
  rb-inotify (0.10.0)
115
114
  ffi (~> 1.0)
116
- relaton (0.5.3)
117
- algoliasearch
115
+ relaton (0.5.4)
118
116
  relaton-gb (~> 0.6.0)
119
117
  relaton-iec (~> 0.4.0)
120
118
  relaton-ietf (~> 0.6.0)
121
119
  relaton-iso (~> 0.6.0)
122
120
  relaton-itu (~> 0.3.0)
123
121
  relaton-nist (~> 0.3.0)
124
- relaton-bib (0.3.5)
122
+ relaton-ogc (~> 0.1.0)
123
+ relaton-bib (0.3.6)
125
124
  addressable
126
- nokogiri (~> 1.10)
127
- relaton-gb (0.6.2)
125
+ nokogiri
126
+ relaton-gb (0.6.3)
128
127
  cnccs (~> 0.1.1)
129
128
  gb-agencies (~> 0.0.1)
130
129
  relaton-iso-bib (~> 0.3.0)
131
- relaton-iec (0.4.3)
130
+ relaton-iec (0.4.4)
132
131
  addressable
133
132
  relaton-iso-bib (~> 0.3.0)
134
- relaton-ietf (0.6.3)
133
+ relaton-ietf (0.6.4)
135
134
  relaton-bib (~> 0.3.0)
136
135
  relaton-iev (0.1.1)
137
136
  relaton (~> 0.5.0)
138
- relaton-iso (0.6.4)
137
+ relaton-iso (0.6.5)
139
138
  relaton-iec (~> 0.4.0)
140
139
  relaton-iso-bib (~> 0.3.0)
141
- relaton-iso-bib (0.3.4)
140
+ relaton-iso-bib (0.3.5)
142
141
  isoics (~> 0.1.6)
143
142
  relaton-bib (~> 0.3.0)
144
143
  ruby_deep_clone (~> 0.8.0)
145
- relaton-itu (0.3.2)
144
+ relaton-itu (0.3.3)
146
145
  relaton-iso-bib (~> 0.3.0)
147
- relaton-nist (0.3.3)
146
+ relaton-nist (0.3.4)
148
147
  relaton-bib (~> 0.3.0)
149
148
  rubyzip
149
+ relaton-ogc (0.1.0)
150
+ faraday
151
+ relaton-iso-bib (~> 0.3.0)
150
152
  roman-numerals (0.3.0)
151
153
  rspec (3.8.0)
152
154
  rspec-core (~> 3.8.0)
@@ -173,7 +175,7 @@ GEM
173
175
  ruby-progressbar (1.10.1)
174
176
  ruby_deep_clone (0.8.0)
175
177
  ruby_dep (1.5.0)
176
- rubyzip (1.2.3)
178
+ rubyzip (1.2.4)
177
179
  safe_yaml (1.0.5)
178
180
  sassc (2.2.0)
179
181
  ffi (~> 1.9)
@@ -192,7 +194,7 @@ GEM
192
194
  unicode2latex (0.0.2)
193
195
  uuidtools (2.1.5)
194
196
  vcr (5.0.0)
195
- webmock (3.7.0)
197
+ webmock (3.7.2)
196
198
  addressable (>= 2.3.6)
197
199
  crack (>= 0.3.2)
198
200
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -26,7 +26,7 @@ module Asciidoctor
26
26
 
27
27
  def term_defs_boilerplate_cont(src, term, isodoc)
28
28
  sources = isodoc.sentence_join(src.map do |s|
29
- %{<eref bibitem="#{s['bibitemid']}"/>}
29
+ %{<eref bibitemid="#{s['bibitemid']}"/>}
30
30
  end)
31
31
  if src.empty? then @internal_terms_boilerplate
32
32
  elsif term.nil? then external_terms_boilerplate(sources)
@@ -102,8 +102,9 @@ module Asciidoctor
102
102
  r = xmldoc.at("//references[title = 'Bibliography'] | "\
103
103
  "//clause[title = 'Bibliography'][.//bibitem]") or return
104
104
  r.xpath(".//bibitem[not(ancestor::bibitem)]").each_with_index do |b, i|
105
- docid = b.at("./docidentifier[@type = 'metanorma']") and
106
- docid.children = "[#{i + 1}]"
105
+ next unless docid = b.at("./docidentifier[@type = 'metanorma']")
106
+ next unless /^\[\d+\]$/.match(docid.text)
107
+ docid.children = "[#{i + 1}]"
107
108
  end
108
109
  end
109
110
 
@@ -164,7 +165,6 @@ module Asciidoctor
164
165
  def ref_dl_cleanup(xmldoc)
165
166
  xmldoc.xpath("//clause[@bibitem = 'true']").each do |c|
166
167
  bib = dl_bib_extract(c) or next
167
- #warn bib
168
168
  bibitemxml = RelatonBib::BibliographicItem.new(
169
169
  RelatonBib::HashConverter::hash_to_bib(bib)).to_xml or next
170
170
  bibitem = Nokogiri::XML(bibitemxml)
@@ -1,10 +1,8 @@
1
1
  require "date"
2
2
  require "nokogiri"
3
3
  require "htmlentities"
4
- require "json"
5
4
  require "pathname"
6
5
  require "open-uri"
7
- require "pp"
8
6
 
9
7
  module Asciidoctor
10
8
  module Standoc
@@ -182,7 +180,7 @@ module Asciidoctor
182
180
  end
183
181
 
184
182
  def relaton_relations
185
- %w(part-of)
183
+ %w(part-of translated-from)
186
184
  end
187
185
 
188
186
  def metadata_relations(node, xml)
@@ -251,14 +249,6 @@ module Asciidoctor
251
249
  def metadata_series(node, xml)
252
250
  end
253
251
 
254
- def asciidoc_sub(x)
255
- return nil if x.nil?
256
- return "" if x.empty?
257
- d = Asciidoctor::Document.new(x.lines.entries, {header_footer: false})
258
- b = d.parse.blocks.first
259
- b.apply_subs(b.source)
260
- end
261
-
262
252
  def title(node, xml)
263
253
  title_english(node, xml)
264
254
  title_otherlangs(node, xml)
@@ -268,7 +258,7 @@ module Asciidoctor
268
258
  ["en"].each do |lang|
269
259
  at = { language: lang, format: "text/plain" }
270
260
  xml.title **attr_code(at) do |t|
271
- t << asciidoc_sub(node.attr("title") || node.attr("title-en") ||
261
+ t << Utils::asciidoc_sub(node.attr("title") || node.attr("title-en") ||
272
262
  node.title)
273
263
  end
274
264
  end
@@ -42,7 +42,8 @@ module Asciidoctor
42
42
  end
43
43
 
44
44
  def docid(t, code)
45
- type, code1 = /^\[\d+\]$/.match(code) ? ["metanorma", code] :
45
+ type, code1 = /^\[\d+\]$|^\(.+\)$/.match(code) ?
46
+ ["metanorma", code.sub(/^\(/, "[").sub(/\)$/, "]")] :
46
47
  @bibdb&.docid_type(code) || [nil, code]
47
48
  t.docidentifier code1, **attr_code(type: type)
48
49
  end
@@ -17,6 +17,14 @@ module Asciidoctor
17
17
  node.nil? || node.id.nil? || node.id.empty? ? "_" + uuid : node.id
18
18
  end
19
19
 
20
+ def asciidoc_sub(x)
21
+ return nil if x.nil?
22
+ return "" if x.empty?
23
+ d = Asciidoctor::Document.new(x.lines.entries, {header_footer: false})
24
+ b = d.parse.blocks.first
25
+ b.apply_subs(b.source)
26
+ end
27
+
20
28
  def localdir(node)
21
29
  docfile = node.attr("docfile")
22
30
  docfile.nil? ? './' : Pathname.new(docfile).parent.to_s + '/'
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Standoc
3
- VERSION = "1.3.1".freeze
3
+ VERSION = "1.3.2".freeze
4
4
  end
5
5
  end
@@ -96,6 +96,7 @@ RSpec.describe Asciidoctor::Standoc do
96
96
  :email_2: barney@rockhead.example.com
97
97
  :publisher: Hanna Barbera, Cartoon Network
98
98
  :part-of: ABC
99
+ :translated-from: DEF
99
100
  :keywords: a, b, c
100
101
  INPUT
101
102
  <?xml version="1.0" encoding="UTF-8"?>
@@ -234,6 +235,12 @@ RSpec.describe Asciidoctor::Standoc do
234
235
  <docidentifier>ABC</docidentifier>
235
236
  </bibitem>
236
237
  </relation>
238
+ <relation type="translatedFrom">
239
+ <bibitem>
240
+ <title>--</title>
241
+ <docidentifier>DEF</docidentifier>
242
+ </bibitem>
243
+ </relation>
237
244
  <keyword>a</keyword>
238
245
  <keyword>b</keyword>
239
246
  <keyword>c</keyword>
@@ -572,18 +572,36 @@ RSpec.describe Asciidoctor::Standoc do
572
572
  [bibliography]
573
573
  == Bibliography
574
574
 
575
- * [[[iso123,1]]] _Standard_
575
+ * [[[iso123,2]]] _Standard_
576
+ * [[[iso124,(B)]]] _Standard_
577
+ * [[[iso125,1]]] _Standard_
578
+ * [[[iso126,(A)]]] _Standard_
576
579
  INPUT
577
580
  #{BLANK_HDR}
578
581
  <sections>
579
582
 
580
- </sections><bibliography><references id="_" obligation="informative">
581
- <title>Bibliography</title>
582
- <bibitem id="iso123">
583
+ </sections>
584
+ <bibliography><references id="_" obligation="informative">
585
+ <title>Bibliography</title><bibitem id="iso123">
583
586
  <formattedref format="application/x-isodoc+xml">
584
587
  <em>Standard</em>
585
588
  </formattedref>
586
589
  <docidentifier type="metanorma">[1]</docidentifier>
590
+ </bibitem><bibitem id="iso124">
591
+ <formattedref format="application/x-isodoc+xml">
592
+ <em>Standard</em>
593
+ </formattedref>
594
+ <docidentifier type="metanorma">[B]</docidentifier>
595
+ </bibitem><bibitem id="iso125">
596
+ <formattedref format="application/x-isodoc+xml">
597
+ <em>Standard</em>
598
+ </formattedref>
599
+ <docidentifier type="metanorma">[3]</docidentifier>
600
+ </bibitem><bibitem id="iso126">
601
+ <formattedref format="application/x-isodoc+xml">
602
+ <em>Standard</em>
603
+ </formattedref>
604
+ <docidentifier type="metanorma">[A]</docidentifier>
587
605
  </bibitem>
588
606
  </references>
589
607
  </bibliography>
@@ -563,7 +563,7 @@ RSpec.describe Asciidoctor::Standoc do
563
563
  </foreword></preface><sections>
564
564
  <terms id="_" obligation="normative">
565
565
  <title>Terms and definitions</title><p>For the purposes of this document, the terms and definitions
566
- given in <eref bibitem="iso1234"/> and <eref bibitem="iso5678"/> and the following apply.</p>
566
+ given in <eref bibitemid="iso1234"/> and <eref bibitemid="iso5678"/> and the following apply.</p>
567
567
  <term id="_">
568
568
  <preferred>Term1</preferred>
569
569
  </term>
@@ -616,7 +616,7 @@ RSpec.describe Asciidoctor::Standoc do
616
616
  <terms id="_" obligation="normative">
617
617
  <title>Terms and definitions</title>
618
618
  <p>For the purposes of this document,
619
- the terms and definitions given in <eref bibitem="iso1234"/> and <eref bibitem="iso5678"/> apply.</p>
619
+ the terms and definitions given in <eref bibitemid="iso1234"/> and <eref bibitemid="iso5678"/> apply.</p>
620
620
 
621
621
 
622
622
  </terms></sections>
@@ -649,7 +649,7 @@ RSpec.describe Asciidoctor::Standoc do
649
649
  </foreword></preface><sections>
650
650
  <terms id="_" obligation="normative">
651
651
  <title>Terms and definitions</title>
652
- <p>Pour les besoins du présent document, les termes et définitions de <eref bibitem="iso1234"/> et <eref bibitem="iso5678"/> s'appliquent.</p>
652
+ <p>Pour les besoins du présent document, les termes et définitions de <eref bibitemid="iso1234"/> et <eref bibitemid="iso5678"/> s'appliquent.</p>
653
653
 
654
654
 
655
655
  </terms></sections>
@@ -681,7 +681,7 @@ RSpec.describe Asciidoctor::Standoc do
681
681
  <p id="_">Foreword</p>
682
682
  </foreword></preface><sections>
683
683
  <terms id="_" obligation="normative">
684
- <title>Terms and definitions</title><p><eref bibitem="iso1234"/>和<eref bibitem="iso5678"/>界定的术语和定义适用于本文件。</p>
684
+ <title>Terms and definitions</title><p><eref bibitemid="iso1234"/>和<eref bibitemid="iso5678"/>界定的术语和定义适用于本文件。</p>
685
685
 
686
686
 
687
687
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-01 00:00:00.000000000 Z
11
+ date: 2019-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor