metanorma-itu 1.0.11 → 1.0.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +10 -10
  3. data/.github/workflows/ubuntu.yml +25 -11
  4. data/.github/workflows/windows.yml +11 -12
  5. data/README.adoc +9 -49
  6. data/lib/asciidoctor/itu/biblio.rng +131 -46
  7. data/lib/asciidoctor/itu/cleanup.rb +90 -78
  8. data/lib/asciidoctor/itu/converter.rb +8 -12
  9. data/lib/asciidoctor/itu/front.rb +47 -18
  10. data/lib/asciidoctor/itu/isodoc.rng +32 -4
  11. data/lib/asciidoctor/itu/validate.rb +1 -1
  12. data/lib/isodoc/itu/base_convert.rb +9 -6
  13. data/lib/isodoc/itu/html/_coverpage.scss +1 -1
  14. data/lib/isodoc/itu/html/header.html +8 -8
  15. data/lib/isodoc/itu/html/html_itu_titlepage.html +5 -3
  16. data/lib/isodoc/itu/html/htmlstyle.scss +9 -5
  17. data/lib/isodoc/itu/html/itu.scss +24 -1
  18. data/lib/isodoc/itu/html/scripts.html +14 -27
  19. data/lib/isodoc/itu/html/word_itu_intro.html +2 -0
  20. data/lib/isodoc/itu/html/word_itu_titlepage.html +3 -3
  21. data/lib/isodoc/itu/html/wordstyle.scss +1 -1
  22. data/lib/isodoc/itu/html_convert.rb +3 -3
  23. data/lib/isodoc/itu/itu.recommendation-annex.xsl +3589 -0
  24. data/lib/isodoc/itu/itu.recommendation.xsl +3589 -0
  25. data/lib/isodoc/itu/itu.resolution.xsl +3589 -0
  26. data/lib/isodoc/itu/metadata.rb +6 -26
  27. data/lib/isodoc/itu/pdf_convert.rb +17 -44
  28. data/lib/isodoc/itu/ref.rb +26 -21
  29. data/lib/isodoc/itu/terms.rb +3 -4
  30. data/lib/isodoc/itu/word_convert.rb +5 -2
  31. data/lib/isodoc/itu/xref.rb +16 -12
  32. data/lib/metanorma/itu/processor.rb +8 -0
  33. data/lib/metanorma/itu/version.rb +1 -1
  34. metadata +5 -3
  35. data/lib/isodoc/itu/html/scripts.pdf.html +0 -72
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0b6bcda9ee8aa042d7647e9b8865c7bac5a07943541e6278ac311ae35b7ecdb
4
- data.tar.gz: 2c2916e7706336f89a13d65cd63022a0a2288a576957684856134f482ecfa7eb
3
+ metadata.gz: 1075b0ab1b5ce442ec5e1048b390b717a0722dfb66b5130c934f4a0eaf39caca
4
+ data.tar.gz: 6d5d755eaf6cfea89ca934e0f54b9c0ef2042da3b289e4fb0297ae7f7efa6267
5
5
  SHA512:
6
- metadata.gz: 3905f473b483696859238779600e0074eb3fb668cef4898ce288d62be053339426afee23d8c6e32e36c8a706dbe0be0f60c5626181c45f78cea30b2baa9e7a23
7
- data.tar.gz: 21907c33e9ad329cf2852b10ccce61b9ca407c9fb0e01896a69c60d380d665df3366721cd155db14c48549b1b350c6f74922fe2213f5fdef6c21468a9ad2d586
6
+ metadata.gz: cef7bfe22e96dda2a19678c7f04f60c5a82f76544e6e29f9ae77a34873cc13413139b26c2c84cdbc736438531a034a9c934bc8e9bce96b4d2a6534520948ab75
7
+ data.tar.gz: 932eb30b185032d66a843bb9981e40cb103df654096528742c9029bb092f500b83f11de6553ffc30ec64867b584d54ff750e8bf00e03fde4f4bc467b76110047
@@ -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: Run specs
38
38
  run: |
39
39
  bundle exec rake
@@ -1,21 +1,30 @@
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
+ tags:
9
+ - '*'
8
10
  pull_request:
9
- branches: [ '**' ]
11
+ paths-ignore:
12
+ - .github/workflows/macos.yml
13
+ - .github/workflows/windows.yml
10
14
 
11
15
  jobs:
12
16
  test-linux:
13
17
  name: Test on Ruby ${{ matrix.ruby }} Ubuntu
14
18
  runs-on: ubuntu-latest
19
+ continue-on-error: ${{ matrix.experimental }}
15
20
  strategy:
16
21
  fail-fast: false
17
22
  matrix:
18
23
  ruby: [ '2.6', '2.5', '2.4' ]
24
+ experimental: [false]
25
+ include:
26
+ - ruby: '2.7'
27
+ experimental: true
19
28
  steps:
20
29
  - uses: actions/checkout@master
21
30
  - name: Use Ruby
@@ -25,15 +34,20 @@ jobs:
25
34
  architecture: 'x64'
26
35
  - name: Update gems
27
36
  run: |
28
- gem install bundler
37
+ gem install bundler
29
38
  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
39
  - name: Run specs
38
40
  run: |
39
41
  bundle exec rake
42
+ - name: Trigger dependent repositories
43
+ if: github.ref == 'refs/heads/master' && matrix.ruby == '2.6'
44
+ env:
45
+ GH_USERNAME: ${{ secrets.PAT_USERNAME }}
46
+ GH_ACCESS_TOKEN: ${{ secrets.PAT_TOKEN }}
47
+ run: |
48
+ curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/trigger-gh-actions.sh
49
+ [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
50
+ for repo in $DEPENDENT_REPOS
51
+ do
52
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "{ \"ref\": \"${GITHUB_REF}\" }"
53
+ done
@@ -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: Run specs
41
40
  run: |
42
41
  bundle exec rake
@@ -1,64 +1,24 @@
1
- = metanorma-itu: Asciidoctor processor for ITU
1
+ = metanorma-itu: Metanorma for ITU
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-itu.svg["Gem Version", link="https://rubygems.org/gems/metanorma-itu"]
4
- image:https://travis-ci.com/metanorma/metanorma-itu.svg["Build Status", link="https://travis-ci.com/metanorma/metanorma-itu"]
5
- image:https://ci.appveyor.com/api/projects/status/pl6lh4a9224ijbe1?svg=true["Appveyor Build Status", link="https://ci.appveyor.com/project/metanorma/metanorma-itu"]
4
+ image:https://github.com/metanorma/metanorma-itu/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/metanorma/metanorma-itu/actions?workflow=macos"]
5
+ image:https://github.com/metanorma/metanorma-itu/workflows/ubuntu/badge.svg["Build Status (ubuntu)", link="https://github.com/metanorma/metanorma-itu/actions?workflow=ubuntu"]
6
+ image:https://github.com/metanorma/metanorma-itu/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/metanorma/metanorma-itu/actions?workflow=windows"]
6
7
  image:https://codeclimate.com/github/metanorma/metanorma-itu/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-itu"]
7
8
  image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-itu.svg["Pull Requests", link="https://github.com/metanorma/metanorma-itu/pulls"]
8
9
  image:https://img.shields.io/github/commits-since/metanorma/metanorma-itu/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-itu/releases"]
9
10
 
10
11
  == Functionality
11
12
 
12
- This gem processes http://asciidoctor.org/[Asciidoctor] documents following
13
- a template for generating ITU documents.
13
+ This gem processes Metanorma input for generating ITU (ITU-T, ITU-D) documents.
14
14
 
15
- The gem currently inherits from the https://github.com/metanorma/metanorma-standoc
16
- gem, and aligns closely to it. Refer to the ISO gem documentation
17
- for guidance, including https://github.com/metanorma/metanorma-iso/wiki/Guidance-for-authoring
18
-
19
- The following outputs are generated.
20
-
21
- * an XML representation of the document, intended as a document model for ITU documents.
22
- * The XML representation is processed in turn to generate the following outputs
23
- as end deliverable ITU documents.
24
- ** HTML
25
- ** http://asciimath.org[AsciiMathML] is to be used for mathematical formatting.
26
- The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
27
- which is syntactically stricter than the common MathJax processor;
28
- if you do not get expected results, try bracketing terms your in AsciiMathML
29
- expressions.
15
+ The implementation inherits from https://github.com/metanorma/metanorma-standoc.
30
16
 
31
17
  == Usage
32
18
 
33
- The preferred way to invoke this gem is via the `metanorma` script:
34
-
35
- [source,console]
36
- ----
37
- $ metanorma --type itu a.adoc # output HTML
38
- $ metanorma --type itu --extensions html a.adoc # output just HTML
39
- $ metanorma --type itu --extensions xml a.adoc # output RSD XML
40
- ----
41
-
42
- The gem translates the document into Metanorma XML format, and then
43
- validates its output against the Metanorma XML document model; errors are
44
- reported to console against the XML, and are intended for users to
45
- check that they have provided all necessary components of the
46
- document.
47
-
48
- The gem then converts the XML into HTML.
49
-
50
- === Installation
51
-
52
- If you are using a Mac, the https://github.com/metanorma/metanorma-macos-setup
53
- repository has instructions on setting up your machine to run Metanorma
54
- scripts such as this one. You need only run the following in a Terminal console:
19
+ == Usage and installation
55
20
 
56
- [source,console]
57
- ----
58
- $ bash <(curl -s https://raw.githubusercontent.com/metanorma/metanorma-macos-setup/master/metanorma-setup)
59
- $ gem install metanorma-acme
60
- $ gem install metanorma-cli
61
- ----
21
+ See https://www.metanorma.com.
62
22
 
63
23
  == Documentation
64
24
 
@@ -66,6 +26,6 @@ See https://www.metanorma.com/author/itu/[Write ITU-T documents with Metanorma].
66
26
 
67
27
  == Examples
68
28
 
69
- * Example documents are avalable at the https://github.com/metanorma/mn-samples-itu[mn-samples-itu] repository.
29
+ * Example documents are available at the https://github.com/metanorma/mn-samples-itu[mn-samples-itu] repository.
70
30
  * Document templates are available at the https://github.com/metanorma/mn-templates-itu[mn-templates-itu] repository.
71
31
 
@@ -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">