metanorma-cli 1.1.8 → 1.2.0

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: 17e6241712028d756a1aa8fbfdb9071f430850fc70095eb7899c5040a32286fa
4
- data.tar.gz: c338a1af3c9eaf0adaafb61581df07d8e579cdb690face35fd0d5717e27ea81e
3
+ metadata.gz: 257a0c33f07f9b412bf11de5c0dfeea4025dc05ec54ec3c69aea9b1eb205df35
4
+ data.tar.gz: bb4c121dd0d9d142097138da52a054f1a65321d7953bc0eeba0e71c8f122ba2c
5
5
  SHA512:
6
- metadata.gz: a84bb780427cd9cc7f4ac9c45dee1b2dd4a9a7ac30ee8d2eda5ba896c847c26595e3f323b124b867c2f50b36c7f26ee3be4fe590897d669c8cc6d13a6d64b83b
7
- data.tar.gz: b5dc3027dfa5525d840745c30a5fa4f12f83bf9cb3d03eae2260568603e7c65d795fa7226cc018c9255e82c6b27bc9067728a80cde5db101d21bb122e0c3f188
6
+ metadata.gz: 74866f346a2651bb295d881b42a846f66508cd6db1c2b33b5c2705ee4be11f963f06f611ed3b2c17ddd6428091b25d0fdf2baf264d66cc7428bcaf9946cb4276
7
+ data.tar.gz: 2152501a0b8e242f98f29ce0d08f961146efc95945b51fee4523684fc3bacc915fceef21426ba764466aece1e58f5ab05906ef9d69de2c43aeb000f452e7756f
data/Gemfile.lock CHANGED
@@ -1,23 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metanorma-cli (1.1.8)
4
+ metanorma-cli (1.2.0)
5
5
  git (~> 1.5)
6
- isodoc (~> 0.9.0)
6
+ isodoc (~> 0.10.0)
7
7
  metanorma (~> 0.3.9)
8
- metanorma-acme (~> 1.1.0)
9
- metanorma-csand (~> 1.1.0)
10
- metanorma-csd (~> 1.1.0)
11
- metanorma-gb (~> 1.1.0)
8
+ metanorma-acme (~> 1.2.0)
9
+ metanorma-csand (~> 1.2.0)
10
+ metanorma-csd (~> 1.2.0)
11
+ metanorma-gb (~> 1.2.0)
12
12
  metanorma-ietf (~> 1.0.1)
13
- metanorma-iso (~> 1.1.0)
14
- metanorma-m3d (~> 1.1.0)
15
- metanorma-mpfd (~> 0.1.0)
16
- metanorma-nist (~> 0.0.1)
17
- metanorma-ogc (~> 0.0.1)
18
- metanorma-rsd (~> 1.1.0)
19
- metanorma-standoc (~> 1.1.0)
20
- metanorma-unece (~> 0.0.1)
13
+ metanorma-iso (~> 1.2.0)
14
+ metanorma-m3d (~> 1.2.0)
15
+ metanorma-nist (~> 0.1.0)
16
+ metanorma-ogc (~> 0.1.0)
17
+ metanorma-standoc (~> 1.2.0)
18
+ metanorma-unece (~> 0.1.0)
21
19
  nokogiri (>= 1)
22
20
  thor (~> 0.20.3)
23
21
 
@@ -39,14 +37,10 @@ GEM
39
37
  diff-lcs (1.3)
40
38
  equivalent-xml (0.6.0)
41
39
  nokogiri (>= 1.4.3)
42
- ffi (1.9.25)
40
+ ffi (1.11.1)
43
41
  gb-agencies (0.0.5)
44
- gbbib (0.4.4)
45
- cnccs (~> 0.1.1)
46
- gb-agencies (~> 0.0.1)
47
- iso-bib-item (~> 0.4.2)
48
42
  git (1.5.0)
49
- html2doc (0.8.10)
43
+ html2doc (0.8.11)
50
44
  asciimath (~> 1.0.7)
51
45
  htmlentities (~> 4.3.4)
52
46
  image_size
@@ -56,132 +50,108 @@ GEM
56
50
  uuidtools
57
51
  htmlentities (4.3.4)
58
52
  httpclient (2.8.3)
59
- iecbib (0.2.2)
60
- addressable
61
- iso-bib-item (~> 0.4.2)
62
- ietfbib (0.4.6)
63
- iso-bib-item (~> 0.4.2)
64
53
  iev (0.2.2)
65
54
  nokogiri
66
- image_size (2.0.0)
55
+ image_size (2.0.1)
67
56
  iso-639 (0.2.8)
68
- iso-bib-item (0.4.5)
69
- isoics (~> 0.1.6)
70
- nokogiri (~> 1.8.4)
71
- ruby_deep_clone (~> 0.8.0)
72
- isobib (0.4.4)
73
- algoliasearch
74
- iecbib (~> 0.2.1)
75
- iso-bib-item (~> 0.4.2)
76
- isodoc (0.9.23)
57
+ isodoc (0.10.0)
77
58
  asciimath
78
- html2doc (~> 0.8.6)
59
+ html2doc (~> 0.8.11)
79
60
  htmlentities (~> 4.3.4)
80
61
  liquid
81
62
  metanorma (~> 0.3.0)
82
63
  nokogiri (>= 1)
83
64
  rake (~> 12.0)
84
65
  roman-numerals
85
- sassc (~> 1.12.1)
66
+ sassc (~> 2)
86
67
  thread_safe
87
68
  uuidtools
88
69
  isoics (0.1.7)
89
70
  json (2.2.0)
90
71
  liquid (4.0.3)
91
- metanorma (0.3.11)
72
+ metanorma (0.3.12)
92
73
  asciidoctor
93
74
  htmlentities
94
- metanorma-acme (1.1.4)
75
+ metanorma-acme (1.2.0)
95
76
  asciidoctor (~> 1.5.7)
96
77
  htmlentities (~> 4.3.4)
97
- isodoc (~> 0.9.0)
98
- metanorma-standoc (~> 1.1.0)
78
+ isodoc (~> 0.10.0)
79
+ metanorma-standoc (~> 1.2.0)
99
80
  ruby-jing
100
- metanorma-csand (1.1.5)
81
+ metanorma-csand (1.2.0)
101
82
  asciidoctor (~> 1.5.7)
102
83
  asciimath
103
84
  htmlentities (~> 4.3.4)
104
85
  image_size
105
- isodoc (~> 0.9.0)
106
- metanorma-standoc (~> 1.1.0)
86
+ isodoc (~> 0.10.0)
87
+ metanorma-standoc (~> 1.2.0)
107
88
  mime-types
108
89
  nokogiri
109
90
  ruby-jing
110
91
  thread_safe
111
92
  uuidtools
112
- metanorma-csd (1.1.4)
113
- isodoc (~> 0.9.6)
114
- metanorma-standoc (~> 1.1.0)
115
- metanorma-gb (1.1.5)
93
+ metanorma-csd (1.2.0)
94
+ isodoc (~> 0.10.0)
95
+ metanorma-standoc (~> 1.2.0)
96
+ metanorma-gb (1.2.0)
116
97
  gb-agencies (~> 0.0.4)
117
98
  htmlentities (~> 4.3.4)
118
- isodoc (~> 0.9.1)
119
- metanorma-iso (~> 1.1.0)
99
+ isodoc (~> 0.10.0)
100
+ metanorma-iso (~> 1.2.0)
120
101
  twitter_cldr (~> 4.4.4)
121
- metanorma-ietf (1.0.1)
122
- isodoc (~> 0.9.6)
123
- metanorma-standoc (~> 1.1.0)
124
- metanorma-iso (1.1.6)
102
+ metanorma-ietf (1.0.3)
103
+ isodoc (~> 0.10.0)
104
+ metanorma-standoc (~> 1.2.0)
105
+ metanorma-iso (1.2.0)
125
106
  asciidoctor (~> 1.5.7)
126
- iev (~> 0.2.0)
127
- isodoc (~> 0.9.8)
128
- metanorma-standoc (~> 1.1.0)
107
+ isodoc (~> 0.10.0)
108
+ metanorma-standoc (~> 1.2.0)
129
109
  ruby-jing
130
- metanorma-m3d (1.1.5)
110
+ metanorma-m3d (1.2.0)
131
111
  asciidoctor (~> 1.5.7)
132
112
  asciimath
133
113
  htmlentities (~> 4.3.4)
134
114
  image_size
135
- isodoc (~> 0.9.0)
136
- metanorma-standoc (~> 1.1.0)
115
+ isodoc (~> 0.10.0)
116
+ metanorma-standoc (~> 1.2.0)
137
117
  mime-types
138
118
  nokogiri
139
119
  ruby-jing
140
120
  thread_safe
141
121
  uuidtools
142
- metanorma-mpfd (0.1.10)
143
- asciidoctor (~> 1.5.7)
144
- htmlentities (~> 4.3.4)
145
- isodoc (~> 0.9.0)
146
- metanorma-standoc (~> 1.1.0)
147
- nokogiri
148
- twitter_cldr
149
- metanorma-nist (0.0.8)
122
+ metanorma-nist (0.1.0)
150
123
  asciidoctor (~> 1.5.7)
151
124
  htmlentities (~> 4.3.4)
152
- isodoc (~> 0.9.0)
153
- metanorma-standoc (~> 1.1.0)
125
+ isodoc (~> 0.10.0)
126
+ metanorma-standoc (~> 1.2.0)
127
+ relaton-nist (~> 0.2.0)
154
128
  ruby-jing
155
129
  twitter_cldr
156
- metanorma-ogc (0.0.9)
130
+ tzinfo-data
131
+ metanorma-ogc (0.1.0)
157
132
  asciidoctor (~> 1.5.7)
158
133
  htmlentities (~> 4.3.4)
159
134
  iso-639
160
- isodoc (~> 0.9.0)
161
- metanorma-standoc (~> 1.1.0)
135
+ isodoc (~> 0.10.0)
136
+ metanorma-standoc (~> 1.2.0)
162
137
  ruby-jing
163
- metanorma-rsd (1.1.4)
164
- asciidoctor (~> 1.5.7)
165
- htmlentities (~> 4.3.4)
166
- isodoc (~> 0.9.0)
167
- metanorma-standoc (~> 1.1.0)
168
- nokogiri
169
- metanorma-standoc (1.1.9)
138
+ metanorma-standoc (1.2.0)
170
139
  asciidoctor (~> 1.5.7)
171
140
  concurrent-ruby
172
- html2doc (~> 0.8.0)
141
+ html2doc (~> 0.8.11)
173
142
  iev (~> 0.2.1)
174
- isodoc (~> 0.9.0)
175
- relaton (~> 0.3.1)
143
+ isodoc (~> 0.10.0)
144
+ relaton (~> 0.4.0)
145
+ relaton-cli (~> 0.2.0)
176
146
  ruby-jing
177
147
  sterile (~> 1.0.14)
178
148
  unicode2latex (~> 0.0.1)
179
- metanorma-unece (0.0.14)
149
+ metanorma-unece (0.1.0)
180
150
  asciidoctor (~> 1.5.7)
181
151
  htmlentities (~> 4.3.4)
182
152
  iso-639
183
- isodoc (~> 0.9.0)
184
- metanorma-standoc (~> 1.1.0)
153
+ isodoc (~> 0.10.0)
154
+ metanorma-standoc (~> 1.2.0)
185
155
  roman-numerals
186
156
  ruby-jing
187
157
  twitter_cldr
@@ -190,26 +160,49 @@ GEM
190
160
  mime-types-data (3.2019.0331)
191
161
  mini_portile2 (2.3.0)
192
162
  mixlib-shellout (2.4.4)
193
- nistbib (0.1.5)
194
- relaton-bib (~> 0.1.0)
195
163
  nokogiri (1.8.5)
196
164
  mini_portile2 (~> 2.3.0)
197
165
  optout (0.0.2)
198
- public_suffix (3.0.3)
166
+ public_suffix (3.1.0)
199
167
  rake (12.3.2)
200
- rb-fsevent (0.10.3)
201
- rb-inotify (0.10.0)
202
- ffi (~> 1.0)
203
- relaton (0.3.4)
168
+ relaton (0.4.0)
204
169
  algoliasearch
205
- gbbib (~> 0.4.0)
206
- iecbib (~> 0.2.0)
207
- ietfbib (~> 0.4.2)
208
- iso-bib-item (~> 0.4.2)
209
- isobib (~> 0.4.0)
210
- nistbib (~> 0.1.1)
211
- relaton-bib (0.1.1)
170
+ relaton-gb (~> 0.5.0)
171
+ relaton-iec (~> 0.3.0)
172
+ relaton-ietf (~> 0.5.0)
173
+ relaton-iso (~> 0.5.0)
174
+ relaton-iso-bib (~> 0.2.0)
175
+ relaton-itu (~> 0.2.0)
176
+ relaton-nist (~> 0.2.0)
177
+ relaton-bib (0.2.1)
178
+ addressable
212
179
  nokogiri (~> 1.8.4)
180
+ relaton-cli (0.2.0)
181
+ liquid
182
+ relaton (~> 0.4)
183
+ thor
184
+ relaton-gb (0.5.0)
185
+ cnccs (~> 0.1.1)
186
+ gb-agencies (~> 0.0.1)
187
+ relaton-iso-bib (~> 0.2.0)
188
+ relaton-iec (0.3.0)
189
+ addressable
190
+ relaton-iso-bib (~> 0.2.0)
191
+ relaton-ietf (0.5.0)
192
+ relaton-iso-bib (~> 0.2.0)
193
+ relaton-iso (0.5.0)
194
+ algoliasearch
195
+ relaton-iec (~> 0.3.0)
196
+ relaton-iso-bib (~> 0.2.0)
197
+ relaton-iso-bib (0.2.2)
198
+ isoics (~> 0.1.6)
199
+ nokogiri (~> 1.8.4)
200
+ relaton-bib (~> 0.2.0)
201
+ ruby_deep_clone (~> 0.8.0)
202
+ relaton-itu (0.2.0)
203
+ relaton-iso-bib (~> 0.2.0)
204
+ relaton-nist (0.2.0)
205
+ relaton-bib (~> 0.2.0)
213
206
  roman-numerals (0.3.0)
214
207
  rspec (3.8.0)
215
208
  rspec-core (~> 3.8.0)
@@ -219,29 +212,24 @@ GEM
219
212
  mixlib-shellout (~> 2.0)
220
213
  rspec (~> 3.2)
221
214
  rspec-its (~> 1.2)
222
- rspec-core (3.8.0)
215
+ rspec-core (3.8.1)
223
216
  rspec-support (~> 3.8.0)
224
- rspec-expectations (3.8.3)
217
+ rspec-expectations (3.8.4)
225
218
  diff-lcs (>= 1.2.0, < 2.0)
226
219
  rspec-support (~> 3.8.0)
227
220
  rspec-its (1.3.0)
228
221
  rspec-core (>= 3.0.0)
229
222
  rspec-expectations (>= 3.0.0)
230
- rspec-mocks (3.8.0)
223
+ rspec-mocks (3.8.1)
231
224
  diff-lcs (>= 1.2.0, < 2.0)
232
225
  rspec-support (~> 3.8.0)
233
- rspec-support (3.8.0)
226
+ rspec-support (3.8.2)
234
227
  ruby-jing (0.0.1)
235
228
  optout (>= 0.0.2)
236
229
  ruby_deep_clone (0.8.0)
237
- sass (3.7.4)
238
- sass-listen (~> 4.0.0)
239
- sass-listen (4.0.0)
240
- rb-fsevent (~> 0.9, >= 0.9.4)
241
- rb-inotify (~> 0.9, >= 0.9.7)
242
- sassc (1.12.1)
243
- ffi (~> 1.9.6)
244
- sass (>= 3.3.0)
230
+ sassc (2.0.1)
231
+ ffi (~> 1.9)
232
+ rake
245
233
  sterile (1.0.14)
246
234
  nokogiri
247
235
  thor (0.20.3)
@@ -252,6 +240,8 @@ GEM
252
240
  tzinfo
253
241
  tzinfo (2.0.0)
254
242
  concurrent-ruby (~> 1.0)
243
+ tzinfo-data (1.2019.1)
244
+ tzinfo (>= 1.0.0)
255
245
  unicode2latex (0.0.2)
256
246
  uuidtools (2.1.5)
257
247
 
data/README.adoc CHANGED
@@ -1,4 +1,4 @@
1
- = Metanorma's command-line interface (CLI)
1
+ = Metanorma command-line interface (CLI)
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-cli.svg["Gem Version", link="https://rubygems.org/gems/metanorma-cli"]
4
4
  image:https://img.shields.io/travis/metanorma/metanorma-cli/master.svg["Build Status", link="https://travis-ci.org/metanorma/metanorma-cli"]
@@ -14,11 +14,192 @@ Depending on your setup, you may find quicker ways to get started:
14
14
  please refer to https://www.metanorma.com/docs/getting-started/[Getting Started] instead.
15
15
  ====
16
16
 
17
- At its core, installing this gem is as easy as `gem install metanorma-cli`.
18
- That will install the `metanorma` executable, which you can use with all
17
+ To install this gem, simply run:
18
+
19
+ [source,sh]
20
+ ----
21
+ gem install metanorma-cli
22
+ ----
23
+
24
+ This will install the `metanorma` executable, which you can use with all
19
25
  officially supported Metanorma flavors (such as ISO, CalConnect, IETF, etc).
20
- However, certain dependencies such as Puppeteer may have to be installed separately,
21
- and the process is a little more complex if you’re using Windows.
22
26
 
23
- For advanced details regarding dependencies and Windows installation notes,
24
- refer to the link:docs/installation.adoc[full installation manual].
27
+ However, a number of dependencies (such as Puppeteer and LaTeXML) are not
28
+ installed with this gem, and have to be installed separately.
29
+ The process of installing the full suite can be a little more complex.
30
+
31
+ Generally, we recommend you to follow steps given at
32
+ https://www.metanorma.com/author/topics/install/[Metanorma Installation].
33
+
34
+ But if you aren't afraid of tinkering deeply, please see the
35
+ link:docs/installation.adoc[Developer Installation Notes]
36
+ for advanced details regarding dependencies and Windows installation notes.
37
+
38
+
39
+ == Usage
40
+
41
+ === Generate a new Metanorma document using a template (`metanorma new`)
42
+
43
+ Metanorma CLI allows you to create a new document using an official
44
+ template, or a user-specified custom template.
45
+
46
+ To see what options are available under the `new` command,
47
+ run `metanorma help new`.
48
+
49
+ ==== Generate a new document from an official Metanorma template (from an official Metanorma template repository)
50
+
51
+ The `metanorma new` command allows you to create a document by running a
52
+ single command.
53
+
54
+ To create a new document using an official template you simply
55
+ invoke the command with the mandatory options `type` and `doctype`,
56
+ then Metanorma will find and load the official template to
57
+ create your document.
58
+
59
+ For example, if you want to create a new CSD document (`type`: `csd`) called
60
+ `csd-foo-standard`, using the `standard` template type,
61
+ run the following command:
62
+
63
+ [source, sh]
64
+ ----
65
+ metanorma new -d standard -t csd csd-foo-standard
66
+ ----
67
+
68
+ This will create your barebones document and will also print out
69
+ all files created during generation.
70
+
71
+ Currently, the supported Metanorma template types are `csd`, `ogc` and `iso`.
72
+
73
+
74
+ ==== Generate a new document from a custom Metanorma template repository
75
+
76
+ The CLI allows using custom or unofficial template repositories, meaning you
77
+ could also generate a new document using your own custom template.
78
+
79
+ Metanorma supports two types of template repositories:
80
+
81
+ * Git: a Git repository (local or remote, public or private)
82
+ * Local: a directory
83
+
84
+ Once a template repository and a template within is specified, Metanorma will
85
+ automatically download and generate the new document using your custom template.
86
+
87
+ For example, if you want to create a new CSD document with the
88
+ following parameters:
89
+
90
+ * Document name: `my-custom-csd-document`
91
+ * Flavor: `csd`
92
+ * Doctype: `standard`
93
+ * Template: `https://gitfoo.com/foobar/mn-templates-foobar` (fictitious example)
94
+
95
+ You could execute the following command to do so:
96
+
97
+ [source,sh]
98
+ ----
99
+ metanorma new -d standard -t csd \
100
+ -l https://gitfoo.com/foobar/mn-templates-foobar my-custom-csd-document
101
+ ----
102
+
103
+ Here's an example of using a local directory:
104
+
105
+ [source,sh]
106
+ ----
107
+ metanorma new -d standard -t csd \
108
+ -l ~/shared/mn-templates my-custom-csd-document
109
+ ----
110
+
111
+
112
+ === Compile a document (`metanorma compile` or just `metanorma`)
113
+
114
+ The key functionality of this CLI is to allow compilation of a Metanorma document.
115
+ The command `metanorma help compile` will display all usage instructions of
116
+ the `compile` command shown with available options.
117
+
118
+ [source]
119
+ ----
120
+ Usage:
121
+ metanorma compile FILENAME [..options]
122
+
123
+ Options:
124
+ -t, [--type=TYPE] # Type of standard to generate
125
+ -x, [--extensions=EXTENSIONS] # Type of extension to generate per type
126
+ -f, [--format=FORMAT] # Format of source file: eg. asciidoc
127
+ # Default: asciidoc
128
+
129
+ -r, [--require=one two three] # Require LIBRARY prior to execution
130
+ -w, [--wrapper], [--no-wrapper] # Create wrapper folder for HTML output
131
+ -a, [--asciimath], [--no-asciimath] # Keep Asciimath in XML output instead of converting it to MathM
132
+ -R, [--relaton=RELATON] # Export Relaton XML for document to nominated filename
133
+ -e, [--extract=EXTRACT] # Export sourcecode fragments from this document to nominated directory
134
+ -v, [--version=VERSION] # Print version of code (accompanied with -t)
135
+ ----
136
+
137
+ So, let's put this in use. For example we have a document `my-iso-document.adoc`
138
+ and we want to compile this using `iso` and `html` as extension, then we can use
139
+ the following command.
140
+
141
+ [source, sh]
142
+ ----
143
+ metanorma compile --type iso -x html my-iso-document.adoc
144
+ # or just
145
+ metanorma --type iso -x html my-iso-document.adoc
146
+ ----
147
+
148
+ This should compile any valid document, but if there are some issues then it
149
+ will also print those out in the terminal. Currently, the supported flavors
150
+ are `ietf`, `iso`, `gb`, `csd`, `csand`, `m3d` and `rsd`.
151
+
152
+
153
+ === List supported output formats (`metanorma list-extensions`)
154
+
155
+ Need to know what output formats are supported for a given flavor?
156
+ We've got you covered.
157
+
158
+ To list out the output formats supported by every single flavor type,
159
+ run the following command:
160
+
161
+ [source,sh]
162
+
163
+ ----
164
+ metanorma list-extensions
165
+ ----
166
+
167
+
168
+ To list out the output formats supported by a particular flavor type,
169
+ run the following command:
170
+
171
+ [source,sh]
172
+ ----
173
+ metanorma list-extensions <flavor>
174
+ ----
175
+
176
+ e.g.,
177
+
178
+ [source,sh]
179
+ ----
180
+ metanorma list-extensions iso
181
+ ----
182
+
183
+
184
+ === Show processor version (`metanorma version`)
185
+
186
+ The `version` command returns the version of the Metanorma processor for
187
+ a specific flavor.
188
+
189
+ e.g., to know the currently running version for `iso`, then we
190
+ can use the following command and this will show the current version that we are
191
+ using for that specific processor.
192
+
193
+ [source, sh]
194
+ ----
195
+ metanorma version --type iso
196
+ ----
197
+
198
+
199
+ == Credits
200
+
201
+ This gem is developed, maintained and funded by https://www.metanorma.com/docs/getting-started/[Ribose Inc.]
202
+
203
+ == License
204
+
205
+ The gem is available under the terms of the http://opensource.org/licenses/MIT[MIT License].