metanorma-rsd 1.4.2 → 1.4.7

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: cb228fae1481e2f86de7b5bc096e30813ce078e5b972753f07d17ee4c4685d08
4
- data.tar.gz: 4ca80395339a6a9c53ccceac84683c172255b91da2f14ff125d1a8f3b848768c
3
+ metadata.gz: 802756f03295166bbb32dd6b0dfc244f6f64c1ba98dd9808263eb179b99b2b7c
4
+ data.tar.gz: c84e0af4dc2d037bb15c615a20e7efc86de190958eadf3674d5475baf154b456
5
5
  SHA512:
6
- metadata.gz: f2d329427701cfc6c145bb0764b75e0da04dfa5a7c7773ebff0a6796b8f3c32700ae5443e7d3b97206264c131a73fad0d8cc2a637d09a1ba5f3c13ddbb62312b
7
- data.tar.gz: e3ac5147f026992dc776316d4a00659552bf8fbc34c52489d9212b140e9b88ee94f903d7655b935ebe072f6e3ef1c1527c56a3eaab6522d86630dad3f54936b8
6
+ metadata.gz: 4c986c7e7f17108553e7f5096ae77c0fe457479af7c8b10f5af0d20b076350af888627908605cb044f278834a935eaba7138be0f229544fbbcd196df95b87794
7
+ data.tar.gz: 9c96fec2b774c12fb73652f5e500fbb0d6b551618f9805a30a0961581753d193869f5ddb3756739a8619cb42eb7a64e92d22318b728728c10ea665dbbc48c94b
@@ -1,21 +1,28 @@
1
- # Auto-generated !!! Do not edit it manually
2
- # use ci-master https://github.com/metanorma/metanorma-build-scripts
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
3
  name: macos
4
4
 
5
5
  on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
- branches: [ '**' ]
9
+ paths-ignore:
10
+ - .github/workflows/ubuntu.yml
11
+ - .github/workflows/windows.yml
10
12
 
11
13
  jobs:
12
14
  test-macos:
13
15
  name: Test on Ruby ${{ matrix.ruby }} macOS
14
16
  runs-on: macos-latest
17
+ continue-on-error: ${{ matrix.experimental }}
15
18
  strategy:
16
19
  fail-fast: false
17
20
  matrix:
18
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
19
26
  steps:
20
27
  - uses: actions/checkout@master
21
28
  - name: Use Ruby
@@ -27,13 +34,6 @@ jobs:
27
34
  run: |
28
35
  sudo gem install bundler --force
29
36
  bundle install --jobs 4 --retry 3
30
- - name: Use Node
31
- uses: actions/setup-node@v1
32
- with:
33
- node-version: '8'
34
- - name: Install Puppeteer
35
- run: |
36
- npm install -g puppeteer
37
37
  - name: Install PlantUML
38
38
  run: |
39
39
  brew install plantuml
@@ -1,21 +1,28 @@
1
- # Auto-generated !!! Do not edit it manually
2
- # use ci-master https://github.com/metanorma/metanorma-build-scripts
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
3
  name: ubuntu
4
4
 
5
5
  on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
- branches: [ '**' ]
9
+ paths-ignore:
10
+ - .github/workflows/macos.yml
11
+ - .github/workflows/windows.yml
10
12
 
11
13
  jobs:
12
14
  test-linux:
13
15
  name: Test on Ruby ${{ matrix.ruby }} Ubuntu
14
16
  runs-on: ubuntu-latest
17
+ continue-on-error: ${{ matrix.experimental }}
15
18
  strategy:
16
19
  fail-fast: false
17
20
  matrix:
18
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
19
26
  steps:
20
27
  - uses: actions/checkout@master
21
28
  - name: Use Ruby
@@ -25,15 +32,8 @@ jobs:
25
32
  architecture: 'x64'
26
33
  - name: Update gems
27
34
  run: |
28
- gem install bundler
35
+ gem install bundler
29
36
  bundle install --jobs 4 --retry 3
30
- - name: Use Node
31
- uses: actions/setup-node@v1
32
- with:
33
- node-version: '8'
34
- - name: Install Puppeteer
35
- run: |
36
- npm install -g puppeteer
37
37
  - name: Install PlantUML
38
38
  run: |
39
39
  sudo bash -c "curl -L https://github.com/riboseinc/plantuml-install/raw/master/ubuntu.sh | bash"
@@ -1,21 +1,28 @@
1
- # Auto-generated !!! Do not edit it manually
2
- # use ci-master https://github.com/metanorma/metanorma-build-scripts
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
3
  name: windows
4
4
 
5
5
  on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
- branches: [ '**' ]
9
+ paths-ignore:
10
+ - .github/workflows/macos.yml
11
+ - .github/workflows/ubuntu.yml
10
12
 
11
13
  jobs:
12
14
  test-windows:
13
15
  name: Test on Ruby ${{ matrix.ruby }} Windows
14
16
  runs-on: windows-latest
17
+ continue-on-error: ${{ matrix.experimental }}
15
18
  strategy:
16
19
  fail-fast: false
17
20
  matrix:
18
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
19
26
  steps:
20
27
  - uses: actions/checkout@master
21
28
  - name: Use Ruby
@@ -26,17 +33,9 @@ jobs:
26
33
  - name: Update gems
27
34
  shell: pwsh
28
35
  run: |
29
- gem install bundler
36
+ gem install bundler
30
37
  bundle config --local path vendor/bundle
31
- bundle update
32
38
  bundle install --jobs 4 --retry 3
33
- - name: Use Node
34
- uses: actions/setup-node@v1
35
- with:
36
- node-version: '8'
37
- - name: Install Puppeteer
38
- run: |
39
- npm install -g puppeteer
40
39
  - name: Install PlantUML
41
40
  run: |
42
41
  cinst -y plantuml
@@ -1,8 +1,9 @@
1
1
  = AsciiRSD: Asciidoctor processor for Ribose Standard Documents (RSD)
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-rsd.svg["Gem Version", link="https://rubygems.org/gems/metanorma-rsd"]
4
- image:https://travis-ci.com/metanorma/metanorma-rsd.svg["Build Status", link="https://travis-ci.com/metanorma/metanorma-rsd"]
5
- image:https://ci.appveyor.com/api/projects/status/col74y763yt5xaka?svg=true["Appveyor Build Status", link="https://ci.appveyor.com/project/metanorma/metanorma-rsd"]
4
+ image:https://github.com/metanorma/metanorma-rsd/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/metanorma/metanorma-rsd/actions?workflow=macos"]
5
+ image:https://github.com/metanorma/metanorma-rsd/workflows/ubuntu/badge.svg["Build Status (ubuntu)", link="https://github.com/metanorma/metanorma-rsd/actions?workflow=ubuntu"]
6
+ image:https://github.com/metanorma/metanorma-rsd/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/metanorma/metanorma-rsd/actions?workflow=windows"]
6
7
  image:https://codeclimate.com/github/metanorma/metanorma-rsd/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-rsd"]
7
8
  image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-rsd.svg["Pull Requests", link="https://github.com/metanorma/metanorma-rsd/pulls"]
8
9
  image:https://img.shields.io/github/commits-since/metanorma/metanorma-rsd/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-rsd/releases"]
@@ -87,8 +88,7 @@ this general model can be found on its page. Details of the RSD modifications
87
88
  to this general model can be found on the https://github.com/metanorma/metanorma-model-rsd[RSD model]
88
89
  repository.
89
90
 
91
+ ////
90
92
  == Examples
93
+ ////
91
94
 
92
- * link:spec/examples/rfc6350.adoc[] is an AsciiRSD version of https://tools.ietf.org/html/rfc6350[RFC 6350].
93
- * link:spec/examples/rfc6350.html[] is an HTML file generated from the AsciiRSD.
94
- * link:spec/examples/rfc6350.doc[] is a Word document generated from the AsciiRSD.
@@ -49,11 +49,17 @@
49
49
  </define>
50
50
  <define name="stage">
51
51
  <element name="stage">
52
+ <optional>
53
+ <attribute name="abbreviation"/>
54
+ </optional>
52
55
  <text/>
53
56
  </element>
54
57
  </define>
55
58
  <define name="substage">
56
59
  <element name="substage">
60
+ <optional>
61
+ <attribute name="abbreviation"/>
62
+ </optional>
57
63
  <text/>
58
64
  </element>
59
65
  </define>
@@ -82,7 +88,7 @@
82
88
  <text/>
83
89
  </element>
84
90
  </define>
85
- <define name="LocalizedString">
91
+ <define name="LocalizedString1">
86
92
  <optional>
87
93
  <!-- multiple languages and scripts possible: comma delimit them if so -->
88
94
  <attribute name="language"/>
@@ -92,6 +98,16 @@
92
98
  </optional>
93
99
  <text/>
94
100
  </define>
101
+ <define name="LocalizedString">
102
+ <choice>
103
+ <ref name="LocalizedString1"/>
104
+ <oneOrMore>
105
+ <element name="variant">
106
+ <ref name="LocalizedString1"/>
107
+ </element>
108
+ </oneOrMore>
109
+ </choice>
110
+ </define>
95
111
  <!--
96
112
  Unlike UML, change type to format: type is overloaded
97
113
  Would be need if plain were default value and could omit the attribute
@@ -115,7 +131,7 @@
115
131
  </optional>
116
132
  <ref name="LocalizedStringOrXsAny"/>
117
133
  </define>
118
- <define name="LocalizedStringOrXsAny">
134
+ <define name="LocalizedStringOrXsAny1">
119
135
  <optional>
120
136
  <!-- multiple languages and scripts possible: comma delimit them if so -->
121
137
  <attribute name="language"/>
@@ -130,6 +146,16 @@
130
146
  </choice>
131
147
  </oneOrMore>
132
148
  </define>
149
+ <define name="LocalizedStringOrXsAny">
150
+ <choice>
151
+ <ref name="LocalizedStringOrXsAny1"/>
152
+ <oneOrMore>
153
+ <element name="variant">
154
+ <ref name="LocalizedStringOrXsAny1"/>
155
+ </element>
156
+ </oneOrMore>
157
+ </choice>
158
+ </define>
133
159
  <define name="contributor">
134
160
  <element name="contributor">
135
161
  <zeroOrMore>
@@ -452,9 +478,14 @@
452
478
  <attribute name="bibitemid">
453
479
  <data type="IDREF"/>
454
480
  </attribute>
455
- <zeroOrMore>
456
- <ref name="locality"/>
457
- </zeroOrMore>
481
+ <choice>
482
+ <zeroOrMore>
483
+ <ref name="locality"/>
484
+ </zeroOrMore>
485
+ <zeroOrMore>
486
+ <ref name="localityStack"/>
487
+ </zeroOrMore>
488
+ </choice>
458
489
  <optional>
459
490
  <ref name="date"/>
460
491
  </optional>
@@ -469,6 +500,25 @@
469
500
  <ref name="BibItemLocality"/>
470
501
  </element>
471
502
  </define>
503
+ <define name="localityStack">
504
+ <element name="localityStack">
505
+ <zeroOrMore>
506
+ <ref name="locality"/>
507
+ </zeroOrMore>
508
+ </element>
509
+ </define>
510
+ <define name="sourceLocality">
511
+ <element name="sourceLocality">
512
+ <ref name="BibItemLocality"/>
513
+ </element>
514
+ </define>
515
+ <define name="sourceLocalityStack">
516
+ <element name="sourceLocalityStack">
517
+ <zeroOrMore>
518
+ <ref name="sourceLocality"/>
519
+ </zeroOrMore>
520
+ </element>
521
+ </define>
472
522
  <define name="BibItemLocality">
473
523
  <attribute name="type">
474
524
  <ref name="LocalityType"/>
@@ -703,21 +753,11 @@
703
753
  </define>
704
754
  <define name="TypedTitleString">
705
755
  <optional>
706
- <attribute name="type">
707
- <ref name="TitleType"/>
708
- </attribute>
756
+ <attribute name="type"/>
709
757
  </optional>
710
758
  <ref name="FormattedString"/>
711
759
  </define>
712
- <define name="TitleType">
713
- <choice>
714
- <value>alternative</value>
715
- <value>original</value>
716
- <value>unofficial</value>
717
- <value>subtitle</value>
718
- <value>main</value>
719
- </choice>
720
- </define>
760
+ <!-- TitleType = ( "alternative" | "original" | "unofficial" | "subtitle" | "main" ) -->
721
761
  <define name="TypedUri">
722
762
  <optional>
723
763
  <attribute name="type"/>
@@ -747,6 +787,8 @@
747
787
  <value>unchanged</value>
748
788
  <value>circulated</value>
749
789
  <value>adapted</value>
790
+ <value>vote-started</value>
791
+ <value>vote-ended</value>
750
792
  </choice>
751
793
  </define>
752
794
  <define name="bdate">
@@ -999,38 +1041,63 @@
999
1041
  </define>
1000
1042
  <define name="DocRelationType">
1001
1043
  <choice>
1002
- <value>obsoletes</value>
1003
- <value>obsoletedBy</value>
1004
- <value>supersedes</value>
1005
- <value>supersededBy</value>
1006
- <value>updates</value>
1007
- <value>updatedBy</value>
1008
- <value>complements</value>
1009
- <value>derivedFrom</value>
1010
- <value>translatedFrom</value>
1011
- <value>hasTranslation</value>
1012
- <value>adoptedFrom</value>
1013
- <value>equivalent</value>
1014
- <value>identical</value>
1015
- <value>nonequivalent</value>
1016
- <value>includedIn</value>
1017
1044
  <value>includes</value>
1018
- <value>instance</value>
1019
- <value>instanceOf</value>
1020
- <value>partOf</value>
1045
+ <value>includedIn</value>
1021
1046
  <value>hasPart</value>
1022
- <value>hasDraft</value>
1023
- <value>draftOf</value>
1047
+ <value>partOf</value>
1024
1048
  <value>merges</value>
1049
+ <value>mergedInto</value>
1025
1050
  <value>splits</value>
1026
- <value>amends</value>
1027
- <value>amendedBy</value>
1028
- <value>corrects</value>
1029
- <value>correctedBy</value>
1030
- <value>revises</value>
1031
- <value>revisedBy</value>
1051
+ <value>splitInto</value>
1052
+ <value>instance</value>
1053
+ <value>hasInstance</value>
1054
+ <value>exemplarOf</value>
1055
+ <value>hasExemplar</value>
1056
+ <value>manifestationOf</value>
1057
+ <value>hasManifestation</value>
1058
+ <value>reproductionOf</value>
1059
+ <value>hasReproduction</value>
1060
+ <value>reprintOf</value>
1061
+ <value>hasReprint</value>
1062
+ <value>expressionOf</value>
1063
+ <value>hasExpression</value>
1064
+ <value>translatedFrom</value>
1065
+ <value>hasTranslation</value>
1066
+ <value>arrangementOf</value>
1067
+ <value>hasArrangement</value>
1068
+ <value>abridgementOf</value>
1069
+ <value>hasAbridgement</value>
1070
+ <value>annotationOf</value>
1071
+ <value>hasAnnotation</value>
1072
+ <value>draftOf</value>
1073
+ <value>hasDraft</value>
1074
+ <value>editionOf</value>
1075
+ <value>hasEdition</value>
1076
+ <value>updates</value>
1077
+ <value>updatedBy</value>
1078
+ <value>derivedFrom</value>
1079
+ <value>derives</value>
1032
1080
  <value>describes</value>
1033
1081
  <value>describedBy</value>
1082
+ <value>catalogues</value>
1083
+ <value>cataloguedBy</value>
1084
+ <value>hasSuccessor</value>
1085
+ <value>successorOf</value>
1086
+ <value>adaptedFrom</value>
1087
+ <value>hasAdaptation</value>
1088
+ <value>adoptedFrom</value>
1089
+ <value>adoptedAs</value>
1090
+ <value>reviewOf</value>
1091
+ <value>hasReview</value>
1092
+ <value>commentaryOf</value>
1093
+ <value>hasCommentary</value>
1094
+ <value>related</value>
1095
+ <value>complements</value>
1096
+ <value>complementOf</value>
1097
+ <value>obsoletes</value>
1098
+ <value>obsoletedBy</value>
1099
+ <value>cited</value>
1100
+ <value>isCitedIn</value>
1034
1101
  </choice>
1035
1102
  </define>
1036
1103
  <define name="docrelation">
@@ -1038,12 +1105,30 @@
1038
1105
  <attribute name="type">
1039
1106
  <ref name="DocRelationType"/>
1040
1107
  </attribute>
1108
+ <optional>
1109
+ <element name="description">
1110
+ <ref name="FormattedString"/>
1111
+ </element>
1112
+ </optional>
1041
1113
  <element name="bibitem">
1042
1114
  <ref name="BibliographicItem"/>
1043
1115
  </element>
1044
- <zeroOrMore>
1045
- <ref name="locality"/>
1046
- </zeroOrMore>
1116
+ <choice>
1117
+ <zeroOrMore>
1118
+ <ref name="locality"/>
1119
+ </zeroOrMore>
1120
+ <zeroOrMore>
1121
+ <ref name="localityStack"/>
1122
+ </zeroOrMore>
1123
+ </choice>
1124
+ <choice>
1125
+ <zeroOrMore>
1126
+ <ref name="sourceLocality"/>
1127
+ </zeroOrMore>
1128
+ <zeroOrMore>
1129
+ <ref name="sourceLocalityStack"/>
1130
+ </zeroOrMore>
1131
+ </choice>
1047
1132
  </element>
1048
1133
  </define>
1049
1134
  <define name="version">
@@ -1,22 +1,54 @@
1
1
  require "asciidoctor/standoc/converter"
2
- require 'asciidoctor/acme/converter'
2
+ require 'asciidoctor/generic/converter'
3
3
 
4
4
  module Asciidoctor
5
5
  module Rsd
6
6
  # A {Converter} implementation that generates RSD output, and a document
7
7
  # schema encapsulation of the document for validation
8
8
  #
9
- class Converter < Asciidoctor::Acme::Converter
9
+ class Converter < Asciidoctor::Generic::Converter
10
+ XML_ROOT_TAG = 'rsd-standard'.freeze
11
+ XML_NAMESPACE = 'https://www.metanorma.org/ns/rsd'.freeze
12
+
10
13
  register_for "rsd"
11
14
 
12
- def metadata_security(node, xml)
13
- security = node.attr("security") || return
14
- xml.security security
15
+ def sectiontype(node, level = true)
16
+ ret = node&.attr("heading")&.downcase ||
17
+ node.title.gsub(/<[^>]+>/, "").downcase
18
+ ret1 = sectiontype_streamline(ret)
19
+ return ret1 if "symbols and abbreviated terms" == ret1
20
+ return ret1 if "executive summary" == ret1
21
+ return nil unless !level || node.level == 1
22
+ return nil if @seen_headers.include? ret
23
+ @seen_headers << ret
24
+ ret1
25
+ end
26
+
27
+ def make_preface(x, s)
28
+ if x.at("//foreword | //introduction | //acknowledgements | "\
29
+ "//clause[@preface] | //executivesummary")
30
+ preface = s.add_previous_sibling("<preface/>").first
31
+ f = x.at("//foreword") and preface.add_child f.remove
32
+ f = x.at("//executivesummary") and preface.add_child f.remove
33
+ f = x.at("//introduction") and preface.add_child f.remove
34
+ move_clauses_into_preface(x, preface)
35
+ f = x.at("//acknowledgements") and preface.add_child f.remove
36
+ end
37
+ make_abstract(x, s)
15
38
  end
16
39
 
17
- def metadata_ext(node, xml)
40
+ def clause_parse(attrs, xml, node)
41
+ sectiontype(node) == "executive summary" and
42
+ return executivesummary_parse(attrs, xml, node)
18
43
  super
19
- metadata_security(node, xml)
44
+ end
45
+
46
+ def executivesummary_parse(attrs, xml, node)
47
+ xml.executivesummary **attr_code(attrs) do |xml_section|
48
+ xml_section.title { |t| t << node.title || "Executive Summary" }
49
+ content = node.content
50
+ xml_section << content
51
+ end
20
52
  end
21
53
 
22
54
  def configuration
@@ -28,6 +60,7 @@ module Asciidoctor
28
60
  end
29
61
 
30
62
  def pdf_converter(node)
63
+ return nil if node.attr("no-pdf")
31
64
  IsoDoc::Rsd::PdfConvert.new(html_extract_attributes(node))
32
65
  end
33
66