metanorma-mpfa 0.4.3 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/mpfa/isodoc.rng +12 -6
- data/lib/asciidoctor/mpfa/section.rb +0 -1
- data/lib/isodoc/mpfa/base_convert.rb +10 -58
- data/lib/isodoc/mpfa/html_convert.rb +3 -0
- data/lib/isodoc/mpfa/i18n-en.yaml +5 -0
- data/lib/isodoc/mpfa/i18n.rb +16 -0
- data/lib/isodoc/mpfa/init.rb +28 -0
- data/lib/isodoc/mpfa/presentation_xml_convert.rb +10 -1
- data/lib/isodoc/mpfa/word_convert.rb +3 -0
- data/lib/isodoc/mpfa/xref.rb +1 -1
- data/lib/metanorma/mpfa/version.rb +1 -1
- data/metanorma-mpfd.gemspec +2 -3
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 418038d116be1278ad5197e740c8f14a3675ca1371b5b25c4e3254e460c89029
|
4
|
+
data.tar.gz: 98a1c3494bbad4aa223b7c317622a6f4f4d14b8226646d09cf99db0c101e9b26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcaeba12b30cd6d84050c9143f4589b0e1ca6c0353de5248c9c26f8105a33c5ba63043b016aa5946b56e860bce6af9f56a39d70c0cf5ac9a13425759652cb9e9
|
7
|
+
data.tar.gz: 6b2a9b1b2e184bf524d7be19e44098517cd83872839e2222a49d0bbad8e1888e7b93ee246a8ae575e435a659a4966c6c04bc6623effd820e814c8bf999ad6842
|
@@ -922,6 +922,9 @@
|
|
922
922
|
<optional>
|
923
923
|
<attribute name="script"/>
|
924
924
|
</optional>
|
925
|
+
<optional>
|
926
|
+
<attribute name="type"/>
|
927
|
+
</optional>
|
925
928
|
<optional>
|
926
929
|
<attribute name="obligation">
|
927
930
|
<choice>
|
@@ -961,9 +964,6 @@
|
|
961
964
|
</define>
|
962
965
|
<define name="content-subsection">
|
963
966
|
<element name="clause">
|
964
|
-
<optional>
|
965
|
-
<attribute name="type"/>
|
966
|
-
</optional>
|
967
967
|
<ref name="Content-Section"/>
|
968
968
|
</element>
|
969
969
|
</define>
|
@@ -992,6 +992,9 @@
|
|
992
992
|
</choice>
|
993
993
|
</attribute>
|
994
994
|
</optional>
|
995
|
+
<optional>
|
996
|
+
<attribute name="type"/>
|
997
|
+
</optional>
|
995
998
|
<optional>
|
996
999
|
<ref name="section-title"/>
|
997
1000
|
</optional>
|
@@ -1011,9 +1014,6 @@
|
|
1011
1014
|
</define>
|
1012
1015
|
<define name="clause">
|
1013
1016
|
<element name="clause">
|
1014
|
-
<optional>
|
1015
|
-
<attribute name="type"/>
|
1016
|
-
</optional>
|
1017
1017
|
<ref name="Clause-Section"/>
|
1018
1018
|
</element>
|
1019
1019
|
</define>
|
@@ -1042,6 +1042,9 @@
|
|
1042
1042
|
</choice>
|
1043
1043
|
</attribute>
|
1044
1044
|
</optional>
|
1045
|
+
<optional>
|
1046
|
+
<attribute name="type"/>
|
1047
|
+
</optional>
|
1045
1048
|
<optional>
|
1046
1049
|
<ref name="section-title"/>
|
1047
1050
|
</optional>
|
@@ -1180,6 +1183,9 @@
|
|
1180
1183
|
<optional>
|
1181
1184
|
<attribute name="script"/>
|
1182
1185
|
</optional>
|
1186
|
+
<optional>
|
1187
|
+
<attribute name="type"/>
|
1188
|
+
</optional>
|
1183
1189
|
<optional>
|
1184
1190
|
<attribute name="obligation">
|
1185
1191
|
<choice>
|
@@ -1,51 +1,9 @@
|
|
1
1
|
require "isodoc"
|
2
|
-
require_relative "metadata"
|
3
|
-
require_relative "xref"
|
4
2
|
require "fileutils"
|
5
3
|
|
6
4
|
module IsoDoc
|
7
5
|
module MPFA
|
8
6
|
module BaseConvert
|
9
|
-
def metadata_init(lang, script, labels)
|
10
|
-
@meta = Metadata.new(lang, script, labels)
|
11
|
-
end
|
12
|
-
|
13
|
-
def xref_init(lang, script, klass, labels, options)
|
14
|
-
@xrefs = Xref.new(lang, script, klass, labels, options)
|
15
|
-
end
|
16
|
-
|
17
|
-
def annex_name(annex, name, div)
|
18
|
-
div.h1 **{ class: "Annex" } do |t|
|
19
|
-
t << "#{@xrefs.anchor(annex['id'], :label)} "
|
20
|
-
t.b do |b|
|
21
|
-
name&.children&.each { |c2| parse(c2, b) }
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def fileloc(loc)
|
27
|
-
File.join(File.dirname(__FILE__), loc)
|
28
|
-
end
|
29
|
-
|
30
|
-
def i18n_init(lang, script)
|
31
|
-
super
|
32
|
-
y = if lang == "en"
|
33
|
-
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
34
|
-
elsif lang == "zh" && script == "Hans"
|
35
|
-
YAML.load_file(File.join(File.dirname(__FILE__),
|
36
|
-
"i18n-zh-Hans.yaml"))
|
37
|
-
else
|
38
|
-
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
39
|
-
end
|
40
|
-
@labels = @labels.merge(y)
|
41
|
-
@annex_lbl = y["annex"]
|
42
|
-
@clause_lbl = y["clause"]
|
43
|
-
end
|
44
|
-
|
45
|
-
def terms_defs_title(f)
|
46
|
-
return f&.at(ns("./title"))&.content
|
47
|
-
end
|
48
|
-
|
49
7
|
TERM_CLAUSE = "//preface/terms | "\
|
50
8
|
"//preface/clause[descendant::terms]".freeze
|
51
9
|
|
@@ -57,7 +15,7 @@ module IsoDoc
|
|
57
15
|
def terms_defs(isoxml, out, num)
|
58
16
|
f = isoxml.at(ns(self.class::TERM_CLAUSE)) or return num
|
59
17
|
out.div **attr_code(id: f["id"]) do |div|
|
60
|
-
clause_name(nil,
|
18
|
+
clause_name(nil, f&.at(ns("./title")), div, nil)
|
61
19
|
f.elements.each do |e|
|
62
20
|
parse(e, div) unless %w{title source}.include? e.name
|
63
21
|
end
|
@@ -72,8 +30,7 @@ module IsoDoc
|
|
72
30
|
if c.name == "terms" || c.at(ns(".//terms")) then terms_defs isoxml, out, 0
|
73
31
|
else
|
74
32
|
out.div **attr_code(id: c["id"]) do |s|
|
75
|
-
clause_name(
|
76
|
-
c&.at(ns("./title"))&.content, s, nil)
|
33
|
+
clause_name(nil, c&.at(ns("./title")), s, nil)
|
77
34
|
c.elements.reject { |c1| c1.name == "title" }.each do |c1|
|
78
35
|
parse(c1, s)
|
79
36
|
end
|
@@ -91,6 +48,7 @@ module IsoDoc
|
|
91
48
|
end
|
92
49
|
|
93
50
|
def termdef_parse(node, out)
|
51
|
+
name = node&.at(ns("./name"))&.remove
|
94
52
|
set_termdomain("")
|
95
53
|
node.children.each { |n| parse(n, out) }
|
96
54
|
end
|
@@ -98,8 +56,8 @@ module IsoDoc
|
|
98
56
|
def clause(isoxml, out)
|
99
57
|
isoxml.xpath(ns(middle_clause)).each do |c|
|
100
58
|
out.div **attr_code(id: c["id"]) do |s|
|
101
|
-
clause_name(
|
102
|
-
|
59
|
+
clause_name(nil, c&.at(ns("./title")), s,
|
60
|
+
class: c["container"] ? "containerhdr" : nil )
|
103
61
|
c.elements.reject { |c1| c1.name == "title" }.each do |c1|
|
104
62
|
parse(c1, s)
|
105
63
|
end
|
@@ -107,17 +65,11 @@ module IsoDoc
|
|
107
65
|
end
|
108
66
|
end
|
109
67
|
|
110
|
-
def clause_parse_title(node, div, c1, out)
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
div.send "h#{@xrefs.anchor(node['id'], :level, :false) || '1'}", **attr_code(attrs) do |h|
|
116
|
-
lbl = @xrefs.anchor(node['id'], :label, false)
|
117
|
-
h << "#{lbl}. " if lbl && !@suppressheadingnumbers
|
118
|
-
c1&.children&.each { |c2| parse(c2, h) }
|
119
|
-
end
|
120
|
-
end
|
68
|
+
def clause_parse_title(node, div, c1, out, header_class = {})
|
69
|
+
attrs = {}
|
70
|
+
attrs = { class: "containerhdr" } if node["container"]
|
71
|
+
header_class = header_class.merge(attrs)
|
72
|
+
super
|
121
73
|
end
|
122
74
|
|
123
75
|
def ol_depth(node)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
module MPFA
|
3
|
+
class I18n < IsoDoc::I18n
|
4
|
+
def load_yaml1(lang, script)
|
5
|
+
y = if lang == "en"
|
6
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
7
|
+
elsif lang == "zh" && script == "Hans"
|
8
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-zh-Hans.yaml"))
|
9
|
+
else
|
10
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
11
|
+
end
|
12
|
+
super.merge(y)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "isodoc"
|
2
|
+
require_relative "metadata"
|
3
|
+
require_relative "xref"
|
4
|
+
require_relative "i18n"
|
5
|
+
|
6
|
+
module IsoDoc
|
7
|
+
module MPFA
|
8
|
+
module Init
|
9
|
+
def metadata_init(lang, script, labels)
|
10
|
+
@meta = Metadata.new(lang, script, labels)
|
11
|
+
end
|
12
|
+
|
13
|
+
def xref_init(lang, script, klass, labels, options)
|
14
|
+
html = HtmlConvert.new(language: lang, script: script)
|
15
|
+
@xrefs = Xref.new(lang, script, html, labels, options)
|
16
|
+
end
|
17
|
+
|
18
|
+
def i18n_init(lang, script, i18nyaml = nil)
|
19
|
+
@i18n = I18n.new(lang, script, i18nyaml || @i18nyaml)
|
20
|
+
end
|
21
|
+
|
22
|
+
def fileloc(loc)
|
23
|
+
File.join(File.dirname(__FILE__), loc)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
@@ -1,9 +1,18 @@
|
|
1
|
-
require_relative "
|
1
|
+
require_relative "init"
|
2
2
|
require "isodoc"
|
3
3
|
|
4
4
|
module IsoDoc
|
5
5
|
module MPFA
|
6
6
|
class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
|
7
|
+
def annex1(f)
|
8
|
+
lbl = @xrefs.anchor(f['id'], :label)
|
9
|
+
if t = f.at(ns("./title"))
|
10
|
+
t.children = "<strong>#{t.children.to_xml}</strong>"
|
11
|
+
end
|
12
|
+
prefix_name(f, " ", lbl, "title")
|
13
|
+
end
|
14
|
+
|
15
|
+
include Init
|
7
16
|
end
|
8
17
|
end
|
9
18
|
end
|
data/lib/isodoc/mpfa/xref.rb
CHANGED
data/metanorma-mpfd.gemspec
CHANGED
@@ -29,9 +29,8 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
30
30
|
|
31
31
|
spec.add_dependency "htmlentities", "~> 4.3.4"
|
32
|
-
|
33
|
-
spec.add_dependency "
|
34
|
-
spec.add_dependency "isodoc", "~> 1.1.0"
|
32
|
+
spec.add_dependency "metanorma-standoc", "~> 1.5.0"
|
33
|
+
spec.add_dependency "isodoc", "~> 1.2.0"
|
35
34
|
spec.add_dependency "twitter_cldr"
|
36
35
|
|
37
36
|
spec.add_development_dependency "byebug", "~> 9.1"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-mpfa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.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: 2020-07-
|
11
|
+
date: 2020-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: htmlentities
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.5.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: isodoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.2.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.2.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: twitter_cldr
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,6 +262,8 @@ files:
|
|
262
262
|
- lib/isodoc/mpfa/html_convert.rb
|
263
263
|
- lib/isodoc/mpfa/i18n-en.yaml
|
264
264
|
- lib/isodoc/mpfa/i18n-zh-Hans.yaml
|
265
|
+
- lib/isodoc/mpfa/i18n.rb
|
266
|
+
- lib/isodoc/mpfa/init.rb
|
265
267
|
- lib/isodoc/mpfa/metadata.rb
|
266
268
|
- lib/isodoc/mpfa/presentation_xml_convert.rb
|
267
269
|
- lib/isodoc/mpfa/word_convert.rb
|