metanorma 1.5.9 → 1.5.10

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: 750abd756dfc85ddfa96a07235adebf364acff4890a739c633236676e1a3ba56
4
- data.tar.gz: b96961b6393e03a8a335d8b43825d91558160debfa01129db5cb11caf1267fe0
3
+ metadata.gz: 92a5d64c829606a032547fcdff9d91c0da5961e245174e23d986d1e4d7b66829
4
+ data.tar.gz: 439aed18b6d51d07e96d929cfa3794374ce0002209ef9f0a7556c6e4393dd433
5
5
  SHA512:
6
- metadata.gz: 4743db532984f95e08292907a38cb764fb44b5399e81d8be367f369dee973916edb29ae82fa36e0447327d197f3fcf1132cbd2e409e526bcfd1aa794e5dec572
7
- data.tar.gz: 127ded2eb3b81f5c88cf75a088031425763b3805da21bc7f851667201b039124523f5311357ed618d33b2eb29dba7cb608f76805bff64df163597173f9a3dc80
6
+ metadata.gz: 9b480de019e1ff4356f103cb6ac76f3f185a497901aa5b6a71701c99ae76f598c39bbfba04d9d9c42327ab3433536fa9b3913727d8060073718fb11b9fbc5747
7
+ data.tar.gz: 6265a0c25f8d727d9489a8a9d7bdadda0c265f724679dbc41ac3d2bd739bd89474b14bd3f32056d7cc4eb3e1f47c89a4352d906bd740a4a787b70377d0de0dfd
data/README.adoc CHANGED
@@ -19,235 +19,26 @@ Metanorma is composed of a number of specifications and software
19
19
  implementations. The Metanorma document model is based on the SecureDoc
20
20
  document model.
21
21
 
22
- Metanorma includes the following sub-projects:
23
-
24
- * The https://github.com/metanorma/metanorma-model-standoc[Metanorma Standard Document model]
25
-
26
- * IETF Internet-Drafts and RFCs: the https://datatracker.ietf.org/doc/draft-ribose-asciirfc/[AsciiRFC syntax],
27
- the https://github.com/metanorma/asciidoctor-rfc/[asciidoctor-rfc RFC XML v2 and v3 implementations]
28
-
29
- * ISO Standards: the AsciiISO syntax,
30
- the https://github.com/metanorma/metanorma-model-iso/[Metanorma ISO model],
31
- the https://github.com/metanorma/metanorma-iso/[metanorma-iso IsoDoc implementation]
32
-
33
- * CalConnect Standard Documents (CSD): the AsciiCSD syntax,
34
- https://github.com/metanorma/metanorma-model-csd[Metanorma CSD model],
35
- the https://github.com/metanorma/metanorma-csd/[metanorma-csd implementation]
36
-
37
- * Chinese GuoBiao (GB) Standards: the AsciiGB syntax,
38
- https://github.com/metanorma/metanorma-model-gb[Metanorma GB models, for Chinese standards],
39
- the https://github.com/metanorma/metanorma-gb/[metanorma-gb implementation]
40
-
41
- * Cloud Security Alliance Normal Documents (CSAND): the AsciiCSAND syntax,
42
- https://github.com/metanorma/metanorma-model-csand[Metanorma CSAND model],
43
- the https://github.com/metanorma/metanorma-csand/[metanorma-csand implementation]
44
-
45
- * M3AAWG Documents (M3D): the AsciiM3D syntax,
46
- https://github.com/metanorma/metanorma-model-m3d[Metanorma M3D model],
47
- the https://github.com/metanorma/metanorma-m3d/[metanorma-m3d implementation]
48
-
49
- * Ribose Specification Documents (RSD): AsciiRSD, RSD XML schema, and the https://github.com/metanorma/metanorma-rsd[metanorma-rsd implementation]
50
-
51
- * Mandatory Provident Fund Schemes Authority of Hong Kong Documents (MPFD): https://github.com/metanorma/metanorma-mpfd[metanorma-mpfd implementation] (still at proof-of-concept stage)
52
-
53
- * United Nations Economic Commision for Europe Documents (UNECE): https://github.com/metanorma/metanorma-unece[metanorma-unece implementation]
54
-
22
+ For more on Metanorma and who uses it, refer to https://www.metanorma.org[]
55
23
 
56
24
  == Installation on supported platforms
57
25
 
58
- === MacOS
59
-
60
- We recommend macOS users to directly run the Metanorma setup script
61
- located here:
62
- https://github.com/metanorma/metanorma-macos-setup
63
-
64
- This is a one-stop installation script that setups Ruby, Node
65
- and all necessary parts for running Metanorma.
66
-
67
- Alternatively, you can also use the Metanorma Docker container (see below).
68
-
69
- === Linux
70
-
71
- Please see: https://github.com/metanorma/metanorma-linux-setup
72
-
73
- Alternatively, you can also use the Metanorma Docker container (see below).
74
-
75
- === Docker: Windows and other platforms
76
-
77
- Please use the Metanorma Docker container: https://github.com/metanorma/metanorma-docker
78
-
79
-
80
- ////
81
- If you want to run Ubuntu on MacOS, you should do the following beforehand:
82
-
83
- [source,sh]
84
- ----
85
- # Setup docker through dinghy on MacOS:
86
- brew tap codekitchen/dinghy
87
- brew install dinghy
88
- brew install docker docker-machine
89
- dinghy create --provider virtualbox
90
-
91
- # Run the Ubuntu container:
92
- dinghy up
93
- eval $(dinghy env)
94
- docker run -it ubuntu:18.10 bash
95
- ----
96
- ////
26
+ See https://www.metanorma.org/install/[]
97
27
 
98
28
  === Installing individual components
99
29
 
100
- The Metanorma workflow can be utilized via the `metanorma` Ruby gem.
30
+ The Metanorma workflow can be utilized via the `metanorma-cli` Ruby gem.
101
31
 
102
32
  [source,sh]
103
33
  ----
104
34
  gem install metanorma-cli
105
35
  ----
106
36
 
107
- If you are going to generate PDFs from HTML (which applies to CSD), you will also need to install
108
- the node library https://github.com/GoogleChrome/puppeteer:
109
-
110
- * Install Node, with at least version 7.6.0: https://nodejs.org/en/download/,
111
- https://nodejs.org/en/download/package-manager/ . (For macOS, `brew install node`)
112
- * Install npm: https://docs.npmjs.com/getting-started/installing-node
113
- * Install puppeteer: `npm install -g --save --save-exact puppeteer`
114
-
115
-
116
37
  == Usage
117
38
 
118
- Help command:
119
-
120
- [source,sh]
121
- ----
122
- $ metanorma -h
123
- Usage: metanorma [options] <file>
124
- -t, --type TYPE Type of standard to generate: rfc2, rfc3, iso, gb, csd, csand, m3d
125
- -x, --extensions EXT1,EXT2,... | all Type of extension to generate per type:
126
- {
127
- :rfc2=>{:xmlrfc=>"v2.xml"},
128
- :rfc3=>{:xmlrfc=>"v3.xml"},
129
- :iso=>{:html=>"html", :html_alt=>"alt.html", :doc=>"doc"},
130
- :gb=>{:html=>"html", :compliant_html => "compliant_html", :doc=>"doc"},
131
- :csd=>{:html=>"html", :pdf=>"pdf", :doc => "doc"},
132
- :csand=>{:html=>"html"},
133
- :m3d=>{:html=>"html", :doc=>"doc", :pdf => "pdf"},
134
- :rsd=>{:html=>"html", :doc=>"doc", :pdf => "pdf"}
135
- :acme=>{:html=>"html", :doc=>"doc", :pdf => "pdf"}
136
- :mpdf=>{:html=>"html", :doc=>"doc", :pdf => "pdf"}
137
- :unece=>{:html=>"html", :doc=>"doc"}
138
- }
139
- In addition, xml (outside of rfc2, rfc3) generates IsoDoc XML. If the argument is "all" or the option is
140
- missing, all available extensions are generated.
141
- -f, --format FORMAT Format of source file: asciidoc (current default, only format supported)
142
- -r, --require LIBRARY Require LIBRARY prior to execution
143
- -w, --wrapper Create wrapper folder for HTML output
144
- -d, --data-uri-image Encode HTML output images as data URIs
145
- -a, --asciimath Preserve AsciiMath in Metanorma XML, instead of transforming it into MathML
146
- -R, --relaton FILENAME Export Relaton XML (bibdata) for this document to FILENAME
147
- (Also triggered through -x rxl)
148
- -e, --extract DIR(,ASSET1,ASSET2...) Extract assets from this document to directory DIR. If ASSET1,ASSET2 are named, only those types of asset are extracted.
149
- -h, --help Show this message
150
- ----
151
-
152
- Basically it is used like this:
153
-
154
- [source,sh]
155
- ----
156
- $ metanorma --type <chosen-type> [--format input-format] [--extensions EXT1,EXT2...] iso-my-standard-document.adoc
157
- ----
158
-
159
- Options:
160
-
161
- `type`:: (mandatory, specified via `--type` or `-t`) takes one of the following types:
162
- `rfc2`, `rfc3`, `iso`, `gb`, `csd`, `csand`, `m3d`, `rsd`. Each of these corresponds to a
163
- standards class and a Metanorma gem; the list of standards classes supported by the script
164
- by default will grow (see also `require`).
165
-
166
- `extension`:: (optional) specifies the output formats to be generated. If not specified,
167
- all possible output formats are generated. The output formats generated are constrained by
168
- what has been defined for each standard type. All standards can generate Metanorma XML (`xml`),
169
- and at least one of HTML (`html`), DOC (`doc`), PDF (`pdf`). Some standards generate alternative
170
- HTML renderings (e.g. `html_alt` for ISO).
171
-
172
- `wrapper`:: create a separate folder for each instance of HTML output generated; the folder is named
173
- the same as the output file, without the `.html` suffix. Used to make distribution of HTML outputs
174
- more straightforward.
175
-
176
- `datauriimage`:: Encode all images as data URIs.
177
-
178
- `relaton`:: exports the bibdata Relaton XML description of the document (which is part of its Metanorma XML)
179
- to the nominated directory. The filename is the document identifier, if present, else the document filename.
180
-
181
- `asciimath`:: Preserve AsciiMath in Metanorma XML, instead of transforming it into MathML (which is the default).
182
-
183
- `extract`:: export assets found in the document to the nominated directory. If no other arguments are given,
184
- then all asset classes are exported, each to its own subdirectory. If trailing arguments are given, they
185
- are taken as naming which asset classes to extract from the document. Three asset classes are recognised:
186
- `sourcecode`, `image`, and `requirement` (which includes `recommendation` and `permission` elements).
187
- The assets are given autonumbered names, unless they were given a `filename` attribute in the source
188
- Metanorma XML, which is used instead.
189
-
190
- `format`:: (optional, specified via `--format` or `-f`) only accepts `asciidoc` for now,
191
- defaults to `asciidoc`
192
-
193
- As the `--format` argument is (currently) optional, so:
194
-
195
- [source,sh]
196
- ----
197
- $ metanorma --type iso -x html iso-my-standard-document.adoc
198
- ----
199
-
200
- `require`:: If you wish to use metanorma with a document class which has not been included in the types recognised
201
- by the metanorma script, you will need to name the corresponding Metnorma gem explicitly with the `-r`
202
- option; e.g.
203
-
204
- [source,sh]
205
- ----
206
- $ metanorma -t mpfd mpfd-bpn.adoc
207
-
208
- [metanorma] Error: mpfd is not a supported standard type.
209
-
210
- $ metanorma -t mpfd -r metanorma-mpfd mpfd-bpn.adoc
211
- ----
212
-
213
- The `asciimath`, `type`, `extension` and `relaton` options can be omitted if the corresponding metanorma directives
214
- are included in the document as Metanorma directives; for Asciidoctor input, these take the form
215
- of document attributes `mn-keep-asciimath:`, `mn-document-class:`, `:mn-output-extensions:`
216
- and `:mn-relaton-output-file:`, e.g.
217
-
218
- [source,asciidoctor]
219
- ----
220
- = My ISO document
221
- :mn-keep-asciimath:
222
- :mn-document-class: iso
223
- :mn-output-extensions: html,xml,pdf
224
- :mn-relaton-output-file: test.xml
225
-
226
- .Foreword
227
- ----
228
-
229
- Metanorma can also be invoked within Ruby, through the metanorma gem:
230
-
231
- [source,asciidoctor]
232
- ----
233
- require "metanorma"
234
-
235
- Metanorma::Compile.new().compile(filename, options)
236
- ----
237
-
238
- The options hash has the same structure it does when invoked in metanorma-cli:
239
-
240
- `:type`:: one of `"iso"`, `"csd"`, `"rsd"`, etc. (mandatory)
241
- `:format`:: `:asciidoc` is only value currently allowed
242
- `:extension_keys`:: array of symbols: `:all`, `:xml`:, `:doc` etc.
243
- `:wrapper`: true/false
244
- `:datauriimage`: true/false
245
- `:asciimath`: true/false
246
- `:require`: array of libraries to require
247
- `:relaton`: exports the bibdata Relaton XML description of the document (which is part of its Metanorma XML)
248
- to the nominated directory
39
+ Refer to https://www.metanorma.org/install/man/[Metanorma man page] and https://www.metanorma.org/install/usage/[Metanorma usage]
249
40
 
250
- == Threaded execution
41
+ === Threaded execution
251
42
 
252
43
  Metanorma has threaded execution, to generate output documents from the same Presentation XML input more quickly.
253
44
  Similar to https://github.com/relaton/relaton[relaton], the `METANORMA_PARALLEL` environment variable
@@ -129,7 +129,7 @@ module Metanorma
129
129
  end
130
130
 
131
131
  def svgmap_resolve(docxml)
132
- isodoc = IsoDoc::Convert.new({})
132
+ isodoc = IsoDoc::PresentationXMLConvert.new({})
133
133
  isodoc.bibitem_lookup(docxml)
134
134
  docxml.xpath(ns("//svgmap//eref")).each do |e|
135
135
  svgmap_resolve1(e, isodoc)
@@ -7,8 +7,7 @@ module Metanorma
7
7
  require "asciidoctor"
8
8
  out_opts = {
9
9
  to_file: false, safe: :safe, backend: type, header_footer: true,
10
- attributes: ["nodoc", "stem", "xrefstyle=short",
11
- "docfile=#{filename}",
10
+ attributes: ["nodoc", "stem", "docfile=#{filename}",
12
11
  "output_dir=#{options[:output_dir]}"]
13
12
  }
14
13
  unless asciidoctor_validate(file, filename, out_opts)
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "1.5.9".freeze
2
+ VERSION = "1.5.10".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9
4
+ version: 1.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-25 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: asciidoctor