isodoc 3.7.8 → 3.7.10

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: cdda29c5e2ec54e77bb977a7f736b5cd215e3d54dfccf06213a0cb620bd111a7
4
- data.tar.gz: 94ca91d475ff5554300c74d15fcb0a68a08166728103d52e688e931f030f67bc
3
+ metadata.gz: 2a7597a26426151a8787b78a912f38cf36a045e1ae765dbb77a2673b5f577249
4
+ data.tar.gz: 8621b28dbc2ddc8ec42e37fffed352da1077a37c69057c3dc5c7aebceedc2c2f
5
5
  SHA512:
6
- metadata.gz: 2a1d38eab37a9aa533e94adc24e75414927376b65d9c0acca578c4009f688c4508abf5c4589f5352605087f45edb5c35af459f2b47868d5729caf4d029a1c754
7
- data.tar.gz: 2c19a2c45d35869b011beaa785ea5938c338a6a06acceb66a1b6378bfad2edc9dcf47ca1cf259b601790f584d351cb5058c16fa3b506c991ba6c78efb3d7adcd
6
+ metadata.gz: 88275943d498d1122cb092bb12e6005531ba4d090aaf12cbeaefed250582cc74220a7dc5d62c9ee22efec34bbfb852890204a57cc0819f06ebbaab102a03036b
7
+ data.tar.gz: 0cdbc74ec5a65f07efabb297b3a533f1d1faebfb3f3520cb4289ebe78b93b0de1922a6d49e531c1797857504f536b42dbfe277c3d88860abe0b70e49ecd1b9ad
data/isodoc.gemspec CHANGED
@@ -32,10 +32,10 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "bigdecimal"
33
33
  spec.add_dependency "html2doc", "~> 1.12"
34
34
  # spec.add_dependency "isodoc-i18n", "~> 1.5" # already in relaton-render and mn-requirements
35
- spec.add_dependency "relaton-cli", "~> 3.0"
35
+ spec.add_dependency "relaton", "~> 3.0"
36
36
  # std_docid_semantic parses through the pubid monogem's flavor
37
37
  # registry (Pubid.eager_load_flavors!) — 2.x API, no per-flavor gems
38
- spec.add_dependency "pubid", "~> 2.0"
38
+ spec.add_dependency "pubid", "~> 2.0.3"
39
39
  # spec.add_dependency "metanorma-utils", "~> 2.0" # already in isodoc-i18n
40
40
  spec.add_dependency "mn2pdf", ">= 2.13"
41
41
  spec.add_dependency "mn-requirements", "~> 0.5.0"
@@ -218,7 +218,27 @@ module IsoDoc
218
218
  end
219
219
 
220
220
  def semx_parse(node, out)
221
- children_parse(node, out)
221
+ if @unresolved_eref_markers && node["element"] == "eref" &&
222
+ !(eref = semx_eref(node)).nil? &&
223
+ !(bibitemid = eref["bibitemid"]).to_s.empty?
224
+ unresolved_eref_span(node, out, eref, bibitemid)
225
+ else
226
+ children_parse(node, out)
227
+ end
228
+ end
229
+
230
+ # The <eref> element this <semx element="eref" source="…"> companion
231
+ # was generated for, looked up by the eref's id.
232
+ def semx_eref(node)
233
+ source_id = node["source"] or return nil
234
+ node.document.at_xpath("//*[local-name()='eref'][@id='#{source_id}']")
235
+ end
236
+
237
+ def unresolved_eref_span(node, out, eref, bibitemid)
238
+ attrs = { class: "unresolved-eref", "data-bibitemid" => bibitemid }
239
+ citeas = eref["citeas"]
240
+ attrs["data-citeas"] = citeas if citeas && !citeas.empty?
241
+ out.span(**attrs) { |s| children_parse(node, s) }
222
242
  end
223
243
 
224
244
  def children_parse(node, out)
data/lib/isodoc/init.rb CHANGED
@@ -77,6 +77,10 @@ module IsoDoc
77
77
  @modspecidentifierbase = options[:modspecidentifierbase]
78
78
  @sourcehighlighter = options[:sourcehighlighter]
79
79
  @output_formats = options[:output_formats] || {}
80
+ # Opt-in: wrap unresolved cross-doc erefs in spans carrying their
81
+ # bibitemid (data-bibitemid), so post-render tooling can resolve
82
+ # them across separately rendered documents.
83
+ @unresolved_eref_markers = options[:unresolved_eref_markers]
80
84
  end
81
85
 
82
86
  def init_arrangement(options)
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "3.7.8".freeze
2
+ VERSION = "3.7.10".freeze
3
3
  end
data/lib/isodoc.rb CHANGED
@@ -7,7 +7,7 @@ require "image_size"
7
7
  require "html2doc"
8
8
  require "liquid"
9
9
  require "htmlentities"
10
- require "relaton-render"
10
+ require "relaton/render"
11
11
 
12
12
  require "isodoc/common"
13
13
  require "isodoc/convert"
@@ -1,4 +1,4 @@
1
- require "relaton-render"
1
+ require "relaton/render"
2
2
  require "metanorma-utils"
3
3
 
4
4
  module Relaton
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.8
4
+ version: 3.7.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-11-01 00:00:00.000000000 Z
11
+ date: 2026-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.12'
55
55
  - !ruby/object:Gem::Dependency
56
- name: relaton-cli
56
+ name: relaton
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
75
+ version: 2.0.3
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: 2.0.3
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: mn2pdf
85
85
  requirement: !ruby/object:Gem::Requirement