metanorma-generic 2.4.1 → 2.4.4

Sign up to get free protection for your applications and to get access to all the features.
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