metanorma-generic 2.4.1 → 2.4.4

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: d6ca4a738a95870e27c98de6d0fbe097d09680ea4d0cb937bfbf2bcbb132f1d9
4
- data.tar.gz: a7f17f995cea68405d7fdfe2cd8d88a2e47d439361085f2840cb4ae3ecba43c2
3
+ metadata.gz: 887490f8778fe098a195bdc2864f62a157779a0fff114b971e00729314ff0256
4
+ data.tar.gz: 43a57233fe44dca78b437cfc5b7b38208b25bb9f41ab0a70571c85baa8b6aa90
5
5
  SHA512:
6
- metadata.gz: 9e922e3c785d8c13798070a8f05e6047dd65e94b3ff6c27f6f2b94b01e6c1dfd7a706cd346248c14f77011e337fcb33b49da8745076d48faf25fa5a1c2347944
7
- data.tar.gz: 9841a5dd0d679c4a4c3de1f94fbf4a78cdee6e895edb5ec034ef9cbc6b868bb4bac4a39f0f1a0052bc53fda30df2236834b2445fbff6bf243eed9dba392f522b
6
+ metadata.gz: f4c1a759d5b44ce75491e9aaa3a1608a815200cabb34c0ecc09e63d5a0f86f3429ff36e7b31b853ddddd7b8acb841abe378591dd03f6bc87eaffd7e2d7648d4d
7
+ data.tar.gz: a9e8da8406b04cb36db99d948dd2dd82c3bd69bdde02f1564b45248ed9fe5192cc16a8666c20112f9aded72f8b6edaa9ff3a129d7782b3e2da696864415031a1
@@ -67,6 +67,3 @@ mso-bidi-font-size:11.0pt;color:windowtext'>www.iso.org<o:p></o:p></span></p>
67
67
 
68
68
  </div>
69
69
 
70
- <p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">Contents</span></p>
71
-
72
- WORDTOC
@@ -11,7 +11,10 @@ class Nokogiri::XML::Node
11
11
  h[:text] = text&.strip
12
12
  a = attribute_nodes.map(&:to_hash)
13
13
  if element? && !a.empty?
14
- h[:attr] = a.inject({}) { |m, v| m[v[:name]] = v[:text]; m }
14
+ h[:attr] = a.inject({}) do |m, v|
15
+ m[v[:name]] = v[:text]
16
+ m
17
+ end
15
18
  end
16
19
  c = children.map(&:to_hash)
17
20
  if element? && !(c&.size == 1 && c[0][:kind] == "text")
@@ -12,11 +12,16 @@ module IsoDoc
12
12
  def baselocation(loc)
13
13
  return nil if loc.nil?
14
14
  return "" if loc.empty?
15
+
15
16
  return loc
16
- f = defined?(self.class::_file) ? (self.class::_file || __FILE__) :
17
- __FILE__
17
+ f = if defined?(self.class::_file)
18
+ (self.class::_file || __FILE__)
19
+ else
20
+ __FILE__
21
+ end
18
22
  File.expand_path(File.join(
19
- File.dirname(f), "..", "..", "..", loc))
23
+ File.dirname(f), "..", "..", "..", loc
24
+ ))
20
25
  end
21
26
  end
22
27
  end
@@ -17,44 +17,51 @@ module IsoDoc
17
17
  attr_accessor :_file
18
18
  end
19
19
 
20
- def self.inherited( k )
21
- k._file = caller_locations.first.absolute_path
20
+ def self.inherited(k)
21
+ k._file = caller_locations(1..1).first.absolute_path
22
22
  end
23
23
 
24
24
  def default_fonts(options)
25
25
  {
26
26
  bodyfont: (
27
- options[:script] == "Hans" ? '"Source Han Sans",serif' :
28
- configuration.word_bodyfont || '"Arial",sans-serif'
27
+ if options[:script] == "Hans"
28
+ '"Source Han Sans",serif'
29
+ else
30
+ configuration.word_bodyfont || '"Arial",sans-serif'
31
+ end
29
32
  ),
30
33
  headerfont: (
31
- options[:script] == "Hans" ? '"Source Han Sans",sans-serif' :
32
- configuration.word_headerfont || '"Arial",sans-serif'
34
+ if options[:script] == "Hans"
35
+ '"Source Han Sans",sans-serif'
36
+ else
37
+ configuration.word_headerfont || '"Arial",sans-serif'
38
+ end
33
39
  ),
34
- monospacefont: configuration.word_monospacefont || '"Courier New",monospace',
40
+ monospacefont: configuration.word_monospacefont || '"Courier New",monospace',
35
41
  normalfontsize: configuration.word_normalfontsize,
36
42
  smallerfontsize: configuration.word_smallerfontsize,
37
43
  footnotefontsize: configuration.word_footnotefontsize,
38
44
  monospacefontsize: configuration.word_monospacefontsize,
39
- }.transform_values { |v| v&.empty? ? nil : v }
45
+ }.transform_values { |v| v&.empty? ? nil : v }
40
46
  end
41
47
 
42
- def default_file_locations(options)
48
+ def default_file_locations(_options)
43
49
  {
44
50
  wordstylesheet: baselocation(configuration.wordstylesheet) ||
45
- html_doc_path("wordstyle.scss"),
51
+ html_doc_path("wordstyle.scss"),
46
52
  standardstylesheet: baselocation(configuration.standardstylesheet) ||
47
- html_doc_path("generic.scss"),
53
+ html_doc_path("generic.scss"),
48
54
  header: baselocation(configuration.header) ||
49
- html_doc_path("header.html"),
55
+ html_doc_path("header.html"),
50
56
  wordcoverpage: baselocation(configuration.wordcoverpage) ||
51
- html_doc_path("word_generic_titlepage.html"),
57
+ html_doc_path("word_generic_titlepage.html"),
52
58
  wordintropage: baselocation(configuration.wordintropage) ||
53
- html_doc_path("word_generic_intro.html"),
54
- i18nyaml: (configuration.i18nyaml.is_a?(String) ?
55
- baselocation(configuration.i18nyaml) : nil),
56
- ulstyle: "l3",
57
- olstyle: "l2",
59
+ html_doc_path("word_generic_intro.html"),
60
+ i18nyaml: (if configuration.i18nyaml.is_a?(String)
61
+ baselocation(configuration.i18nyaml)
62
+ end),
63
+ ulstyle: "l3",
64
+ olstyle: "l2",
58
65
  }.transform_values { |v| v&.empty? ? nil : v }
59
66
  end
60
67
 
@@ -39,12 +39,17 @@ module Metanorma
39
39
 
40
40
  def doctype(node)
41
41
  d = super
42
- configuration.doctypes or return d == "article" ? (configuration.default_doctype || "standard") : d
42
+ node.attr("doctype") == "article" and d = "article"
43
+ unless configuration.doctypes
44
+ d == "article" and return (configuration.default_doctype || "standard")
45
+ return d
46
+ end
43
47
  type = configuration.default_doctype ||
44
- configuration.doctypes.keys.dig(0) || "standard"
45
- unless configuration.doctypes.keys.include? d
46
- @log.add("Document Attributes", nil,
47
- "#{d} is not a legal document type: reverting to '#{type}'")
48
+ configuration.doctypes.keys[0] || "standard"
49
+ if !configuration.doctypes.key?(d)
50
+ (node.attr("doctype") && node.attr("doctype") != "article") and # factory default
51
+ @log.add("Document Attributes", nil,
52
+ "#{d} is not a legal document type: reverting to '#{type}'")
48
53
  d = type
49
54
  end
50
55
  d
@@ -1,7 +1,41 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <grammar ns="https://www.metanorma.org/ns/generic" xmlns="http://relaxng.org/ns/structure/1.0">
3
- <!-- default namespace isostandard = "https://www.metanorma.com/ns/iso" -->
2
+ <grammar ns='https://www.metanorma.org/ns/generic' xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!--
4
+ VERSION v1.2.1
5
+ Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
6
+ we cannot have a new default namespace: we will end up with a grammar with two different
7
+ namespaces, one for isostandard and one for csand additions. And we do not want that.
8
+ -->
4
9
  <include href="biblio-standoc.rng"/>
5
- <include href="isodoc.rng"/>
10
+ <include href="isodoc.rng">
11
+ <start>
12
+ <ref name="generic-standard"/>
13
+ </start>
14
+ </include>
15
+ <define name="generic-standard">
16
+ <element name="generic-standard">
17
+ <ref name="Root-Attributes"/>
18
+ <ref name="bibdata"/>
19
+ <zeroOrMore>
20
+ <ref name="termdocsource"/>
21
+ </zeroOrMore>
22
+ <optional>
23
+ <ref name="misccontainer"/>
24
+ </optional>
25
+ <optional>
26
+ <ref name="boilerplate"/>
27
+ </optional>
28
+ <ref name="preface"/>
29
+ <oneOrMore>
30
+ <ref name="sections"/>
31
+ </oneOrMore>
32
+ <zeroOrMore>
33
+ <ref name="annex"/>
34
+ </zeroOrMore>
35
+ <ref name="bibliography"/>
36
+ <zeroOrMore>
37
+ <ref name="indexsect"/>
38
+ </zeroOrMore>
39
+ </element>
40
+ </define>
6
41
  </grammar>
7
- <!-- end overrides -->
@@ -17,6 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
+ <!-- VERSION v1.2.2 -->
20
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
21
22
  <include href="reqt.rng"/>
22
23
  <include href="basicdoc.rng">
@@ -210,6 +211,9 @@
210
211
  <data type="boolean"/>
211
212
  </attribute>
212
213
  </optional>
214
+ <optional>
215
+ <attribute name="style"/>
216
+ </optional>
213
217
  <ref name="CitationType"/>
214
218
  <oneOrMore>
215
219
  <ref name="PureTextElement"/>
@@ -1349,15 +1353,19 @@
1349
1353
  </choice>
1350
1354
  </element>
1351
1355
  </define>
1356
+ <define name="Root-Attributes">
1357
+ <attribute name="version"/>
1358
+ <attribute name="schema-version"/>
1359
+ <attribute name="type">
1360
+ <choice>
1361
+ <value>semantic</value>
1362
+ <value>presentation</value>
1363
+ </choice>
1364
+ </attribute>
1365
+ </define>
1352
1366
  <define name="standard-document">
1353
1367
  <element name="standard-document">
1354
- <attribute name="version"/>
1355
- <attribute name="type">
1356
- <choice>
1357
- <value>semantic</value>
1358
- <value>presentation</value>
1359
- </choice>
1360
- </attribute>
1368
+ <ref name="Root-Attributes"/>
1361
1369
  <ref name="bibdata"/>
1362
1370
  <optional>
1363
1371
  <ref name="misccontainer"/>
@@ -2131,6 +2139,7 @@
2131
2139
  <choice>
2132
2140
  <value>identical</value>
2133
2141
  <value>modified</value>
2142
+ <value>adapted</value>
2134
2143
  <value>restyled</value>
2135
2144
  <value>context-added</value>
2136
2145
  <value>generalisation</value>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Generic
3
- VERSION = "2.4.1".freeze
3
+ VERSION = "2.4.4".freeze
4
4
  end
5
5
  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: 2.4.1
4
+ version: 2.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-10 00:00:00.000000000 Z
11
+ date: 2023-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities