metanorma-itu 1.2.12 → 1.3.0

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: b83dc88219111d0638c307ac05020a1b3234dd000050548539b55e9944ad5562
4
- data.tar.gz: cf2800c450d29d9228b807ea8a52b754ad68684ce2fe573eea6d622825b44639
3
+ metadata.gz: 2ed5bdd15fc291b42dd7b7760aea1a16d11e20cbd098baed7d9670cf4377bef6
4
+ data.tar.gz: dd1cae93081ac5da55e4b1efee4fd908bf9fde4e01e244ae59ea061cb2d0262e
5
5
  SHA512:
6
- metadata.gz: 873af5c00c3ed8c65aef1551ad74dca628759a4cb558c6fec136365910efdfb6582836e2a088f7364e3c72148cec7249970d673b9705f23af2362bbc9df44b46
7
- data.tar.gz: 93c68a94ba74666bba34faf2cb46bc86be84fc42c6392722dc51e6224d9d0ecc86f21a953a79b826002f50db14e0485e1a228ffb1b394cde9475f5af1187ea7c
6
+ metadata.gz: 42380cb1f49fed3fc99f51e3455049cdf907b158dad19da9ae2a244a761802924ff1727af053f604bfbfab933dab73bd3b225c03af9318fd15362aebf7d89d7c
7
+ data.tar.gz: 1b4ced1d5237dd83b90254a77a47ed71f3ee97e4b9dc468e09789f8a4d9dd5efda9fd418b42a2e618ee6e66c0404ec43bbd9b0bc1d5e57bf0b8457d0ee5507d3
@@ -4,7 +4,7 @@ name: rake
4
4
 
5
5
  on:
6
6
  push:
7
- branches: [ master, main ]
7
+ branches: [ master, main ]
8
8
  tags: [ v* ]
9
9
  pull_request:
10
10
 
@@ -16,50 +16,27 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '2.6', '2.5', '2.4' ]
19
+ ruby: [ '2.7', '2.6', '2.5', '2.4' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
21
  experimental: [ false ]
22
22
  include:
23
- - ruby: '2.7'
23
+ - ruby: '3.0'
24
24
  os: 'ubuntu-latest'
25
25
  experimental: true
26
- - ruby: '2.7'
26
+ - ruby: '3.0'
27
27
  os: 'windows-latest'
28
28
  experimental: true
29
- - ruby: '2.7'
29
+ - ruby: '3.0'
30
30
  os: 'macos-latest'
31
31
  experimental: true
32
32
  steps:
33
- - uses: actions/checkout@master
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ submodules: true
34
36
 
35
37
  - uses: ruby/setup-ruby@v1
36
38
  with:
37
39
  ruby-version: ${{ matrix.ruby }}
38
-
39
- - if: matrix.os == 'macos-latest'
40
- run: brew install autoconf automake libtool
41
-
42
- - uses: actions/cache@v2
43
- with:
44
- path: vendor/bundle
45
- key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
46
- restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
47
-
48
- - run: bundle config set path 'vendor/bundle'
49
-
50
- - run: bundle install --jobs 4 --retry 3
40
+ bundler-cache: true
51
41
 
52
42
  - run: bundle exec rake
53
-
54
- tests-passed:
55
- needs: rake
56
- runs-on: ubuntu-latest
57
- steps:
58
- - name: Trigger tests passed event
59
- uses: Sibz/github-status-action@v1
60
- with:
61
- authToken: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
62
- context: 'tests-passed-successfully'
63
- description: 'Tests passed successfully'
64
- state: 'success'
65
- sha: ${{ github.event.pull_request.head.sha || github.sha }}
data/.gitignore CHANGED
@@ -2,3 +2,5 @@
2
2
  .byebug_history
3
3
  .rspec_status
4
4
  coverage/
5
+
6
+ .rubocop-https--*
data/.rubocop.yml CHANGED
@@ -1,10 +1,14 @@
1
1
  # This project follows the Ribose OSS style guide.
2
2
  # https://github.com/riboseinc/oss-guides
3
3
  # All project-specific additions and overrides should be specified in this file.
4
-
5
4
  inherit_from:
6
5
  - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
6
+
7
+ # local repo-specific modifications
8
+
7
9
  AllCops:
8
- TargetRubyVersion: 2.3
10
+ DisplayCopNames: false
11
+ StyleGuideCopsOnly: false
12
+ TargetRubyVersion: 2.4
9
13
  Rails:
10
14
  Enabled: true
@@ -124,7 +124,7 @@
124
124
  <value>application/tei+xml</value>
125
125
  <value>text/x-asciidoc</value>
126
126
  <value>text/markdown</value>
127
- <value>application/x-isodoc+xml</value>
127
+ <value>application/x-metanorma+xml</value>
128
128
  <text/>
129
129
  </choice>
130
130
  </attribute>
@@ -452,6 +452,7 @@
452
452
  <attribute name="type">
453
453
  <choice>
454
454
  <value>isni</value>
455
+ <value>orcid</value>
455
456
  <value>uri</value>
456
457
  </choice>
457
458
  </attribute>
@@ -461,10 +462,7 @@
461
462
  <define name="org-identifier">
462
463
  <element name="identifier">
463
464
  <attribute name="type">
464
- <choice>
465
- <value>orcid</value>
466
- <value>uri</value>
467
- </choice>
465
+ <data type="string" datatypeLibrary=""/>
468
466
  </attribute>
469
467
  <text/>
470
468
  </element>
@@ -1106,7 +1104,7 @@
1106
1104
  <value>complementOf</value>
1107
1105
  <value>obsoletes</value>
1108
1106
  <value>obsoletedBy</value>
1109
- <value>cited</value>
1107
+ <value>cites</value>
1110
1108
  <value>isCitedIn</value>
1111
1109
  </choice>
1112
1110
  </define>
@@ -24,12 +24,12 @@ module Asciidoctor
24
24
  end
25
25
  end
26
26
 
27
- def insert_missing_sections(x)
28
- insert_scope(x)
29
- insert_norm_ref(x)
30
- insert_terms(x)
31
- insert_symbols(x)
32
- insert_conventions(x)
27
+ def insert_missing_sections(xml)
28
+ insert_scope(xml)
29
+ insert_norm_ref(xml)
30
+ insert_terms(xml)
31
+ insert_symbols(xml)
32
+ insert_conventions(xml)
33
33
  end
34
34
 
35
35
  def add_id
@@ -109,8 +109,10 @@ module Asciidoctor
109
109
 
110
110
  def smartquotes_cleanup(xmldoc)
111
111
  return super if @smartquotes
112
+
112
113
  xmldoc.traverse do |n|
113
114
  next unless n.text?
115
+
114
116
  n.replace(HTMLEntities.new.encode(
115
117
  n.text.gsub(/\u2019|\u2018|\u201a|\u201b/, "'").
116
118
  gsub(/\u201c|\u201d|\u201e|\u201f/, '"'), :basic))
@@ -175,6 +177,7 @@ module Asciidoctor
175
177
  return 4 if bib.at("./docidentifier[@type][not(@type = 'DOI' or "\
176
178
  "@type = 'metanorma' or @type = 'ISSN' or @type = "\
177
179
  "'ISBN')]")
180
+
178
181
  5
179
182
  end
180
183
 
@@ -1,10 +1,9 @@
1
1
  require "asciidoctor"
2
2
  require "asciidoctor/standoc/converter"
3
3
  require "fileutils"
4
- require_relative "./front.rb"
5
- require_relative "./validate.rb"
6
- require_relative "./cleanup.rb"
7
- require_relative "./macros.rb"
4
+ require_relative "./front"
5
+ require_relative "./validate"
6
+ require_relative "./cleanup"
8
7
 
9
8
  module Asciidoctor
10
9
  module ITU
@@ -17,12 +16,7 @@ module Asciidoctor
17
16
 
18
17
  register_for "itu"
19
18
 
20
- Asciidoctor::Extensions.register do
21
- inline_macro AddMacro
22
- inline_macro DelMacro
23
- end
24
-
25
- def title_validate(root)
19
+ def title_validate(_root)
26
20
  nil
27
21
  end
28
22
 
@@ -94,6 +88,7 @@ module Asciidoctor
94
88
  hdr != "terms and definitions" && node.level > 1
95
89
  return nil if ret == "symbols and abbreviated terms" &&
96
90
  hdr != "symbols and abbreviated terms" && node.level > 1
91
+
97
92
  ret
98
93
  end
99
94
 
@@ -110,6 +105,7 @@ module Asciidoctor
110
105
 
111
106
  def metadata_keywords(node, xml)
112
107
  return unless node.attr("keywords")
108
+
113
109
  node.attr("keywords").split(/,[ ]*/).sort.each_with_index do |kw, i|
114
110
  xml.keyword (i == 0 ? kw.capitalize : kw)
115
111
  end
@@ -117,22 +113,24 @@ module Asciidoctor
117
113
 
118
114
  def clause_parse(attrs, xml, node)
119
115
  node.option?("unnumbered") and attrs[:unnumbered] = true
120
- case clausetype = sectiontype1(node)
116
+ case sectiontype1(node)
121
117
  when "conventions" then attrs = attrs.merge(type: "conventions")
122
- when "history"
118
+ when "history"
123
119
  attrs[:preface] and attrs = attrs.merge(type: "history")
124
- when "source"
120
+ when "source"
125
121
  attrs[:preface] and attrs = attrs.merge(type: "source")
126
122
  end
127
123
  super
128
124
  end
129
125
 
130
126
  def html_extract_attributes(node)
131
- super.merge(hierarchical_assets: node.attr("hierarchical-object-numbering"))
127
+ super.merge(hierarchical_assets:
128
+ node.attr("hierarchical-object-numbering"))
132
129
  end
133
130
 
134
131
  def doc_extract_attributes(node)
135
- super.merge(hierarchical_assets: node.attr("hierarchical-object-numbering"))
132
+ super.merge(hierarchical_assets:
133
+ node.attr("hierarchical-object-numbering"))
136
134
  end
137
135
 
138
136
  def presentation_xml_converter(node)
@@ -86,6 +86,35 @@
86
86
  <text/>
87
87
  </element>
88
88
  </define>
89
+ <define name="erefType">
90
+ <optional>
91
+ <attribute name="normative">
92
+ <data type="boolean"/>
93
+ </attribute>
94
+ </optional>
95
+ <attribute name="citeas"/>
96
+ <attribute name="type">
97
+ <ref name="ReferenceFormat"/>
98
+ </attribute>
99
+ <optional>
100
+ <attribute name="alt"/>
101
+ </optional>
102
+ <optional>
103
+ <attribute name="case">
104
+ <choice>
105
+ <value>capital</value>
106
+ <value>lowercase</value>
107
+ </choice>
108
+ </attribute>
109
+ </optional>
110
+ <optional>
111
+ <attribute name="droploc">
112
+ <data type="boolean"/>
113
+ </attribute>
114
+ </optional>
115
+ <ref name="CitationType"/>
116
+ <text/>
117
+ </define>
89
118
  <define name="ul">
90
119
  <element name="ul">
91
120
  <attribute name="id">
@@ -102,7 +131,7 @@
102
131
  </attribute>
103
132
  </optional>
104
133
  <oneOrMore>
105
- <ref name="li"/>
134
+ <ref name="ul_li"/>
106
135
  </oneOrMore>
107
136
  <zeroOrMore>
108
137
  <ref name="note"/>
@@ -775,6 +804,78 @@
775
804
  <ref name="paragraph"/>
776
805
  </element>
777
806
  </define>
807
+ <define name="em">
808
+ <element name="em">
809
+ <zeroOrMore>
810
+ <choice>
811
+ <ref name="PureTextElement"/>
812
+ <ref name="stem"/>
813
+ <ref name="index"/>
814
+ </choice>
815
+ </zeroOrMore>
816
+ </element>
817
+ </define>
818
+ <define name="strong">
819
+ <element name="strong">
820
+ <zeroOrMore>
821
+ <choice>
822
+ <ref name="PureTextElement"/>
823
+ <ref name="stem"/>
824
+ <ref name="index"/>
825
+ </choice>
826
+ </zeroOrMore>
827
+ </element>
828
+ </define>
829
+ <define name="tt">
830
+ <element name="tt">
831
+ <zeroOrMore>
832
+ <choice>
833
+ <ref name="PureTextElement"/>
834
+ <ref name="index"/>
835
+ </choice>
836
+ </zeroOrMore>
837
+ </element>
838
+ </define>
839
+ <define name="keyword">
840
+ <element name="keyword">
841
+ <zeroOrMore>
842
+ <choice>
843
+ <ref name="PureTextElement"/>
844
+ <ref name="index"/>
845
+ </choice>
846
+ </zeroOrMore>
847
+ </element>
848
+ </define>
849
+ <define name="strike">
850
+ <element name="strike">
851
+ <zeroOrMore>
852
+ <choice>
853
+ <ref name="PureTextElement"/>
854
+ <ref name="index"/>
855
+ </choice>
856
+ </zeroOrMore>
857
+ </element>
858
+ </define>
859
+ <define name="underline">
860
+ <element name="underline">
861
+ <zeroOrMore>
862
+ <choice>
863
+ <ref name="PureTextElement"/>
864
+ <ref name="index"/>
865
+ </choice>
866
+ </zeroOrMore>
867
+ </element>
868
+ </define>
869
+ <define name="smallcap">
870
+ <element name="smallcap">
871
+ <zeroOrMore>
872
+ <choice>
873
+ <ref name="PureTextElement"/>
874
+ <ref name="index"/>
875
+ </choice>
876
+ </zeroOrMore>
877
+ </element>
878
+ </define>
778
879
  </include>
779
880
  <!-- end overrides -->
780
881
  <define name="colgroup">
@@ -793,7 +894,35 @@
793
894
  <value>internal</value>
794
895
  </define>
795
896
  <define name="TextElement" combine="choice">
796
- <ref name="concept"/>
897
+ <choice>
898
+ <ref name="concept"/>
899
+ <ref name="add"/>
900
+ <ref name="del"/>
901
+ </choice>
902
+ </define>
903
+ <define name="add">
904
+ <element name="add">
905
+ <choice>
906
+ <ref name="PureTextElement"/>
907
+ <ref name="eref"/>
908
+ <ref name="stem"/>
909
+ <ref name="keyword"/>
910
+ <ref name="xref"/>
911
+ <ref name="hyperlink"/>
912
+ </choice>
913
+ </element>
914
+ </define>
915
+ <define name="del">
916
+ <element name="del">
917
+ <choice>
918
+ <ref name="PureTextElement"/>
919
+ <ref name="eref"/>
920
+ <ref name="stem"/>
921
+ <ref name="keyword"/>
922
+ <ref name="xref"/>
923
+ <ref name="hyperlink"/>
924
+ </choice>
925
+ </element>
797
926
  </define>
798
927
  <define name="concept">
799
928
  <element name="concept">
@@ -812,6 +941,8 @@
812
941
  <ref name="requirement"/>
813
942
  <ref name="recommendation"/>
814
943
  <ref name="permission"/>
944
+ <ref name="imagemap"/>
945
+ <ref name="svgmap"/>
815
946
  </choice>
816
947
  </define>
817
948
  <define name="bibliography">
@@ -917,6 +1048,9 @@
917
1048
  </choice>
918
1049
  </attribute>
919
1050
  <ref name="bibdata"/>
1051
+ <optional>
1052
+ <ref name="misccontainer"/>
1053
+ </optional>
920
1054
  <optional>
921
1055
  <ref name="boilerplate"/>
922
1056
  </optional>
@@ -927,11 +1061,21 @@
927
1061
  <zeroOrMore>
928
1062
  <ref name="annex"/>
929
1063
  </zeroOrMore>
1064
+ <optional>
1065
+ <ref name="bibliography"/>
1066
+ </optional>
930
1067
  <zeroOrMore>
931
- <ref name="references"/>
1068
+ <ref name="indexsect"/>
932
1069
  </zeroOrMore>
933
1070
  </element>
934
1071
  </define>
1072
+ <define name="misccontainer">
1073
+ <element name="misc-container">
1074
+ <oneOrMore>
1075
+ <ref name="AnyElement"/>
1076
+ </oneOrMore>
1077
+ </element>
1078
+ </define>
935
1079
  <define name="preface">
936
1080
  <element name="preface">
937
1081
  <oneOrMore>
@@ -955,6 +1099,11 @@
955
1099
  <ref name="Content-Section"/>
956
1100
  </element>
957
1101
  </define>
1102
+ <define name="indexsect">
1103
+ <element name="indexsect">
1104
+ <ref name="Content-Section"/>
1105
+ </element>
1106
+ </define>
958
1107
  <define name="boilerplate">
959
1108
  <element name="boilerplate">
960
1109
  <optional>
@@ -1635,4 +1784,87 @@
1635
1784
  <text/>
1636
1785
  </element>
1637
1786
  </define>
1787
+ <define name="imagemap">
1788
+ <element name="imagemap">
1789
+ <ref name="figure"/>
1790
+ <zeroOrMore>
1791
+ <element name="area">
1792
+ <attribute name="type">
1793
+ <choice>
1794
+ <value>rect</value>
1795
+ <value>circle</value>
1796
+ <value>ellipse</value>
1797
+ <value>poly</value>
1798
+ </choice>
1799
+ </attribute>
1800
+ <choice>
1801
+ <ref name="xref"/>
1802
+ <ref name="hyperlink"/>
1803
+ <ref name="eref"/>
1804
+ </choice>
1805
+ <oneOrMore>
1806
+ <element name="coords">
1807
+ <attribute name="x">
1808
+ <data type="float"/>
1809
+ </attribute>
1810
+ <attribute name="y">
1811
+ <data type="float"/>
1812
+ </attribute>
1813
+ </element>
1814
+ </oneOrMore>
1815
+ <optional>
1816
+ <element name="radius">
1817
+ <attribute name="x">
1818
+ <data type="float"/>
1819
+ </attribute>
1820
+ <optional>
1821
+ <attribute name="y">
1822
+ <data type="float"/>
1823
+ </attribute>
1824
+ </optional>
1825
+ </element>
1826
+ </optional>
1827
+ </element>
1828
+ </zeroOrMore>
1829
+ </element>
1830
+ </define>
1831
+ <define name="svgmap">
1832
+ <element name="svgmap">
1833
+ <ref name="figure"/>
1834
+ <zeroOrMore>
1835
+ <element name="target">
1836
+ <attribute name="href">
1837
+ <data type="anyURI"/>
1838
+ </attribute>
1839
+ <choice>
1840
+ <ref name="xref"/>
1841
+ <ref name="hyperlink"/>
1842
+ <ref name="eref"/>
1843
+ </choice>
1844
+ </element>
1845
+ </zeroOrMore>
1846
+ </element>
1847
+ </define>
1848
+ <define name="ul_li">
1849
+ <element name="li">
1850
+ <optional>
1851
+ <attribute name="id">
1852
+ <data type="ID"/>
1853
+ </attribute>
1854
+ </optional>
1855
+ <optional>
1856
+ <attribute name="uncheckedcheckbox">
1857
+ <data type="boolean"/>
1858
+ </attribute>
1859
+ </optional>
1860
+ <optional>
1861
+ <attribute name="checkedcheckbox">
1862
+ <data type="boolean"/>
1863
+ </attribute>
1864
+ </optional>
1865
+ <oneOrMore>
1866
+ <ref name="BasicBlock"/>
1867
+ </oneOrMore>
1868
+ </element>
1869
+ </define>
1638
1870
  </grammar>