metanorma-generic 3.3.3 → 3.4.0
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 +4 -4
- data/.rubocop.yml +2 -2
- data/lib/metanorma/generic/bibdata_config.rb +3 -1
- data/lib/metanorma/generic/cleanup.rb +32 -3
- data/lib/metanorma/generic/converter.rb +1 -1
- data/lib/metanorma/generic/version.rb +1 -1
- data/lib/metanorma-generic.rb +1 -1
- data/metanorma-generic.gemspec +4 -3
- metadata +22 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6000d91122bed81dc0d79c81fc4b3bbb3a84e6f164aedcdfff5c997aabf14b2c
|
|
4
|
+
data.tar.gz: 1667842e29d745ac3ca391e7d0b41422d688d6b2195707bdbc9ab200bc3fe43e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2294d7023864c81c3847f1ecffe99133caf10152676912926c1d2a48efe39f21d3160f02d2ff116fe4bf75323db6a783cd6a20f160eacee4137addc132b56281
|
|
7
|
+
data.tar.gz: 6094641c6e7628b00a66b36ccf16c51ed09fd4875e2a10d46778515f538dc1915edfd4d9140e3124ddd2e7504c3817b6179f00f68389571609286078f878da66
|
data/.rubocop.yml
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Auto-generated by Cimas: Do not edit it manually!
|
|
2
2
|
# See https://github.com/metanorma/cimas
|
|
3
3
|
inherit_from:
|
|
4
|
-
- https://raw.githubusercontent.com/riboseinc/oss-guides/
|
|
4
|
+
- https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
|
|
5
5
|
|
|
6
6
|
# local repo-specific modifications
|
|
7
7
|
# ...
|
|
8
8
|
|
|
9
9
|
AllCops:
|
|
10
|
-
TargetRubyVersion:
|
|
10
|
+
TargetRubyVersion: 3.4
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require "relaton-cli"
|
|
2
|
+
|
|
1
3
|
module Metanorma
|
|
2
4
|
module Generic
|
|
3
5
|
class BibdataConfig < ::Lutaml::Model::Serializable
|
|
@@ -15,7 +17,7 @@ module Metanorma
|
|
|
15
17
|
|
|
16
18
|
def bibdata_from_xml(model, node)
|
|
17
19
|
node or return
|
|
18
|
-
model.bibdata = Relaton::Cli.parse_xml(node.adapter_node)
|
|
20
|
+
model.bibdata = Relaton::Cli.parse_xml(node.adapter_node.native)
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def bibdata_to_xml(model, parent, doc); end
|
|
@@ -15,18 +15,47 @@ module Metanorma
|
|
|
15
15
|
Metanorma::Generic::Configuration::CONFIG_ATTRS.each do |a|
|
|
16
16
|
conv.meta.set(a, configuration.send(a))
|
|
17
17
|
end
|
|
18
|
-
|
|
18
|
+
conv.meta.set(:bibdata, bibdata_hash(xmldoc))
|
|
19
19
|
@isodoc = conv
|
|
20
20
|
@isodoc
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def bibdata_hash(xmldoc)
|
|
24
|
-
b = xmldoc.at("//bibdata") || xmldoc.at("//xmlns:bibdata")
|
|
25
|
-
|
|
24
|
+
b = xmldoc.at("//bibdata") || xmldoc.at("//xmlns:bibdata") or return nil
|
|
25
|
+
stripped = Nokogiri::XML(b.to_xml)
|
|
26
|
+
stripped.remove_namespaces!
|
|
27
|
+
# Drop @boilerplate="true" docidentifiers before handing the
|
|
28
|
+
# bibdata to Relaton::Cli.parse_xml: their content is an
|
|
29
|
+
# unresolved Liquid template, and recent relaton-iho /
|
|
30
|
+
# relaton-cc / etc. eagerly call pubid in their docidentifier
|
|
31
|
+
# content= setter, which crashes on raw Liquid syntax. The
|
|
32
|
+
# template variables for substitution come from other bibdata
|
|
33
|
+
# fields (seriesabbr, docnumeric, …), not from the
|
|
34
|
+
# docidentifier itself, so dropping it here does not affect
|
|
35
|
+
# what we feed back into isodoc.meta. Substitution still runs
|
|
36
|
+
# on the original xmldoc via standoc's
|
|
37
|
+
# docidentifier_boilerplate_isodoc; afterwards
|
|
38
|
+
# refresh_isodoc_bibdata re-calls bibdata_hash to seed
|
|
39
|
+
# isodoc.meta with the resolved docidentifier.
|
|
40
|
+
# See https://github.com/metanorma/metanorma/issues/558.
|
|
41
|
+
stripped.xpath("//docidentifier[@boilerplate = 'true']").each(&:remove)
|
|
42
|
+
bib = BibdataConfig.from_xml(
|
|
43
|
+
"<metanorma>#{stripped.root.to_xml}</metanorma>",
|
|
44
|
+
).bibdata or return nil
|
|
26
45
|
YAML.safe_load(bib.to_yaml, permitted_classes: [Date, Symbol],
|
|
27
46
|
symbolize_names: true)
|
|
28
47
|
end
|
|
29
48
|
|
|
49
|
+
# Override standoc's hook: in addition to re-running
|
|
50
|
+
# isodoc_bibdata_parse, refresh conv.meta[:bibdata] with the
|
|
51
|
+
# bibdata_hash now that docidentifiers have been substituted, so
|
|
52
|
+
# downstream consumers (boilerplate Liquid expansion, coverpage
|
|
53
|
+
# interpolation, etc.) see the resolved values.
|
|
54
|
+
def refresh_isodoc_bibdata(xmldoc, conv)
|
|
55
|
+
super
|
|
56
|
+
conv.meta.set(:bibdata, bibdata_hash(xmldoc))
|
|
57
|
+
end
|
|
58
|
+
|
|
30
59
|
def boilerplate_file(xmldoc)
|
|
31
60
|
f = configuration.boilerplate
|
|
32
61
|
f.nil? and return super
|
data/lib/metanorma-generic.rb
CHANGED
|
@@ -4,7 +4,7 @@ require "metanorma/generic/converter"
|
|
|
4
4
|
require "metanorma/generic/validate"
|
|
5
5
|
require "metanorma/generic/cleanup"
|
|
6
6
|
require "isodoc/generic"
|
|
7
|
-
require "metanorma"
|
|
7
|
+
require "metanorma-core"
|
|
8
8
|
|
|
9
9
|
if defined? Metanorma::Registry
|
|
10
10
|
Metanorma::Registry.instance.register(Metanorma::Generic::Processor)
|
data/metanorma-generic.gemspec
CHANGED
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.require_paths = ["lib"]
|
|
28
28
|
spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
|
|
29
29
|
|
|
30
|
-
spec.add_dependency "metanorma-standoc", "~> 3.4.
|
|
30
|
+
spec.add_dependency "metanorma-standoc", "~> 3.4.2"
|
|
31
31
|
|
|
32
32
|
spec.add_development_dependency "debug"
|
|
33
33
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
|
@@ -36,9 +36,10 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
37
37
|
spec.add_development_dependency "rspec", "~> 3.6"
|
|
38
38
|
spec.add_development_dependency "rubocop", "~> 1"
|
|
39
|
-
spec.add_development_dependency "rubocop-performance"
|
|
39
|
+
spec.add_development_dependency "rubocop-performance"
|
|
40
40
|
spec.add_development_dependency "sassc-embedded", "~> 1"
|
|
41
41
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
|
42
42
|
spec.add_development_dependency "timecop", "~> 0.9"
|
|
43
|
-
spec.add_development_dependency "canon"
|
|
43
|
+
spec.add_development_dependency "canon"#, "= 0.2.3"
|
|
44
|
+
spec.add_development_dependency "metanorma"
|
|
44
45
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-generic
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: metanorma-standoc
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 3.4.
|
|
19
|
+
version: 3.4.2
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 3.4.
|
|
26
|
+
version: 3.4.2
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: debug
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,16 +182,30 @@ dependencies:
|
|
|
182
182
|
name: canon
|
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
|
184
184
|
requirements:
|
|
185
|
-
- -
|
|
185
|
+
- - ">="
|
|
186
186
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 0
|
|
187
|
+
version: '0'
|
|
188
188
|
type: :development
|
|
189
189
|
prerelease: false
|
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
191
|
requirements:
|
|
192
|
-
- -
|
|
192
|
+
- - ">="
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '0'
|
|
195
|
+
- !ruby/object:Gem::Dependency
|
|
196
|
+
name: metanorma
|
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
|
198
|
+
requirements:
|
|
199
|
+
- - ">="
|
|
193
200
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 0
|
|
201
|
+
version: '0'
|
|
202
|
+
type: :development
|
|
203
|
+
prerelease: false
|
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
- - ">="
|
|
207
|
+
- !ruby/object:Gem::Version
|
|
208
|
+
version: '0'
|
|
195
209
|
description: |
|
|
196
210
|
Metanorma template gem for customisation. This gem is meant to be customised for any downstream use.
|
|
197
211
|
|