metanorma-cli 1.2.11.2 → 1.3.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: 3fc0f93f8be72d41f653a11f0aba1c3ef046bb18bb347f778234177bcc83d2f8
4
- data.tar.gz: cdd10afa9f767bbc2fda987e07145a10fc4d1c5cf9e095b9079ddbb42c9f65e1
3
+ metadata.gz: 727c9f20d6b9320c6a5c160cd909d418f7930e7610a26ffd21a84060da52ab0d
4
+ data.tar.gz: f2c7ebaf6858dbc5431e92d08b345fbdf31e498f9b8c57b5af929aa7dafa22a4
5
5
  SHA512:
6
- metadata.gz: 0b7e981b6af6a005c046da6f45da2b4053d64f20fc708655486bde6bb8b64152ea6e10fccda07de0e73442a2f06e626b58ad78376e360d5969d217aae9a82e0f
7
- data.tar.gz: d4019e7c415d9bdcaea8281911457571d29e449eaae25e0e0685477935c58e783b897ddf94bafec3a155e3e68b51e6fe29c34c770c0e3b9530e116edbf3f76bb
6
+ metadata.gz: e8d353085709cbb6bc0cefa595d8e8de8ad583164da05bbe44c832b810e43f5844f28235bce566f4cfb6fd6542252c3ab6a436763db63719eac2f1a82dcc7419
7
+ data.tar.gz: 4edc7b2ec475ca042b199bccfcdf0eafa1b5a5e054c91e9f97c93ab8cf71b11774c9cf468c79e609371392bdea62c840365a5ca2d7aecd68593405c8b5691611
@@ -1,23 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metanorma-cli (1.2.11.2)
4
+ metanorma-cli (1.3.0)
5
+ fontist (~> 0.2.0)
5
6
  git (~> 1.5)
6
- isodoc (~> 1.0.0)
7
- metanorma (~> 1.0.0)
8
- metanorma-csa (~> 1.4.0)
9
- metanorma-csd (~> 1.3.0)
10
- metanorma-gb (~> 1.3.0)
11
- metanorma-generic (~> 1.4.0)
12
- metanorma-iec (~> 1.0.0)
13
- metanorma-ietf (~> 2.0.0)
14
- metanorma-iso (~> 1.3.0)
15
- metanorma-itu (~> 1.0.0)
16
- metanorma-m3d (~> 1.3.0)
17
- metanorma-nist (~> 1.0.0)
18
- metanorma-ogc (~> 1.0.0)
19
- metanorma-standoc (~> 1.3.0, >= 1.3.18)
20
- metanorma-un (~> 0.3.1)
7
+ isodoc (~> 1.1.0)
8
+ metanorma (~> 1.1.0)
9
+ metanorma-cc (~> 1.4.0)
10
+ metanorma-csa (~> 1.5.0)
11
+ metanorma-gb (~> 1.4.0)
12
+ metanorma-generic (~> 1.5.0)
13
+ metanorma-iec (~> 1.1.0)
14
+ metanorma-ietf (~> 2.1.0)
15
+ metanorma-iho (~> 0.1.0)
16
+ metanorma-iso (~> 1.4.0)
17
+ metanorma-itu (~> 1.1.0)
18
+ metanorma-m3aawg (~> 1.4.0)
19
+ metanorma-nist (~> 1.1.0)
20
+ metanorma-ogc (~> 1.1.0)
21
+ metanorma-standoc (~> 1.4.0)
22
+ metanorma-un (~> 0.4.0)
21
23
  relaton-cli (>= 0.8.2)
22
24
  thor (~> 0.20.3)
23
25
 
@@ -27,27 +29,36 @@ GEM
27
29
  addressable (2.7.0)
28
30
  public_suffix (>= 2.0.2, < 5.0)
29
31
  asciidoctor (2.0.10)
30
- asciimath (1.0.9)
32
+ asciimath (2.0.0)
31
33
  bibtex-ruby (5.1.4)
32
34
  latex-decode (~> 0.0)
33
35
  byebug (10.0.2)
34
36
  camertron-eprun (1.1.1)
35
37
  cldr-plurals-runtime-rb (1.0.1)
36
- cnccs (0.1.5)
38
+ cnccs (0.1.6)
39
+ coderay (1.1.3)
37
40
  concurrent-ruby (1.1.6)
38
- diff-lcs (1.3)
41
+ diff-lcs (1.4.2)
39
42
  domain_name (0.5.20190701)
40
43
  unf (>= 0.0.5, < 1.0.0)
44
+ down (5.1.1)
45
+ addressable (~> 2.5)
41
46
  equivalent-xml (0.6.0)
42
47
  nokogiri (>= 1.4.3)
43
48
  faraday (1.0.1)
44
49
  multipart-post (>= 1.2, < 3)
45
- ffi (1.12.2)
50
+ ffi (1.13.1)
51
+ ffi-compiler2 (2.0.0)
52
+ ffi (>= 1.0.0)
53
+ rake
54
+ fontist (0.2.0)
55
+ down (~> 5.0)
56
+ libmspack (~> 0.1.0)
46
57
  gb-agencies (0.0.6)
47
58
  git (1.7.0)
48
59
  rchardet (~> 1.8)
49
- html2doc (1.0.1)
50
- asciimath (~> 1.0.9)
60
+ html2doc (1.0.3)
61
+ asciimath (~> 2.0.0)
51
62
  htmlentities (~> 4.3.4)
52
63
  image_size
53
64
  mime-types
@@ -62,182 +73,207 @@ GEM
62
73
  image_size (2.0.2)
63
74
  iso-639 (0.3.5)
64
75
  iso639 (1.3.2)
65
- isodoc (1.0.25)
76
+ isodoc (1.1.0)
66
77
  asciimath
67
78
  html2doc (~> 1.0.0)
68
79
  htmlentities (~> 4.3.4)
69
80
  liquid
70
- metanorma (~> 1.0.0)
81
+ metanorma (~> 1.1.0)
71
82
  nokogiri (>= 1.10.4)
72
83
  rake (~> 12.0)
73
84
  roman-numerals
74
- sassc (~> 2.2.1)
85
+ sassc (~> 2.4.0)
75
86
  thread_safe
76
87
  uuidtools
77
88
  isoics (0.1.8)
78
89
  latex-decode (0.3.1)
90
+ libmspack (0.1.0)
91
+ ffi
92
+ ffi-compiler2 (>= 2.0.0)
79
93
  liquid (4.0.3)
80
94
  mathml2asciimath (0.0.10)
81
95
  htmlentities (~> 4.3.4)
82
96
  nokogiri (>= 1.10.4)
83
- metanorma (1.0.4)
97
+ metanorma (1.1.0)
84
98
  asciidoctor
85
99
  htmlentities
100
+ mn2pdf (~> 1)
86
101
  nokogiri
87
- metanorma-csa (1.4.9)
102
+ metanorma-cc (1.4.0)
103
+ isodoc (~> 1.1.0)
104
+ metanorma-standoc (~> 1.4.0)
105
+ metanorma-csa (1.5.0)
88
106
  htmlentities (~> 4.3.4)
89
107
  image_size
90
- isodoc (~> 1.0.0)
91
- metanorma-standoc (~> 1.3.0)
108
+ isodoc (~> 1.1.0)
109
+ metanorma-standoc (~> 1.4.0)
92
110
  mime-types
93
111
  ruby-jing
94
112
  thread_safe
95
113
  uuidtools
96
- metanorma-csd (1.3.20)
97
- isodoc (~> 1.0.0)
98
- metanorma-standoc (~> 1.3.0)
99
- metanorma-gb (1.3.22)
114
+ metanorma-gb (1.4.0)
100
115
  gb-agencies (~> 0.0.4)
101
116
  htmlentities (~> 4.3.4)
102
- isodoc (~> 1.0.0)
103
- metanorma-iso (~> 1.3.0)
117
+ isodoc (~> 1.1.0)
118
+ metanorma-iso (~> 1.4.0)
104
119
  twitter_cldr (~> 4.4.4)
105
- metanorma-generic (1.4.7)
120
+ metanorma-generic (1.5.0)
106
121
  htmlentities (~> 4.3.4)
107
- isodoc (~> 1.0.0)
108
- metanorma-standoc (~> 1.3.0)
122
+ isodoc (~> 1.1.0)
123
+ metanorma-standoc (~> 1.4.0)
109
124
  ruby-jing
110
- metanorma-iec (1.0.5)
111
- isodoc (~> 1.0.0)
112
- metanorma-iso (~> 1.3.0)
125
+ metanorma-iec (1.1.0)
126
+ isodoc (~> 1.1.0)
127
+ metanorma-iso (~> 1.4.0)
113
128
  ruby-jing
114
- metanorma-ietf (2.0.9)
115
- isodoc (~> 1.0.0)
129
+ metanorma-ietf (2.1.0)
130
+ isodoc (~> 1.1.0)
116
131
  mathml2asciimath
117
- metanorma-standoc (~> 1.3.0)
118
- metanorma-iso (1.3.23)
119
- isodoc (~> 1.0.0)
120
- metanorma-standoc (~> 1.3.0)
132
+ metanorma-standoc (~> 1.4.0)
133
+ metanorma-iho (0.1.0)
134
+ htmlentities (~> 4.3.4)
135
+ isodoc (~> 1.1.0)
136
+ metanorma-generic (~> 1.5.0)
137
+ metanorma-standoc (~> 1.4.0)
138
+ metanorma-iso (1.4.0)
139
+ isodoc (~> 1.1.0)
140
+ metanorma-standoc (~> 1.4.0)
141
+ mn2sts (~> 1.2.0)
121
142
  ruby-jing
122
- metanorma-itu (1.0.14)
143
+ tokenizer (~> 0.3.0)
144
+ twitter_cldr
145
+ metanorma-itu (1.1.0)
123
146
  htmlentities (~> 4.3.4)
124
- isodoc (~> 1.0.0)
125
- metanorma-standoc (~> 1.3.0)
147
+ isodoc (~> 1.1.0)
148
+ metanorma-standoc (~> 1.4.0)
126
149
  ruby-jing
127
- metanorma-m3d (1.3.18)
128
- asciimath
150
+ metanorma-m3aawg (1.4.0)
129
151
  htmlentities (~> 4.3.4)
130
152
  image_size
131
- isodoc (~> 1.0.0)
132
- metanorma-standoc (~> 1.3.0)
153
+ isodoc (~> 1.1.0)
154
+ metanorma-standoc (~> 1.4.0)
133
155
  mime-types
134
156
  ruby-jing
135
157
  thread_safe
136
158
  uuidtools
137
- metanorma-nist (1.0.6)
159
+ metanorma-nist (1.1.0)
138
160
  htmlentities (~> 4.3.4)
139
- isodoc (~> 1.0.0)
140
- metanorma-standoc (~> 1.3.0)
161
+ iso-639
162
+ isodoc (~> 1.1.0)
163
+ metanorma-standoc (~> 1.4.0)
141
164
  ruby-jing
142
165
  twitter_cldr
143
166
  tzinfo-data
144
- metanorma-ogc (1.0.5)
167
+ metanorma-ogc (1.1.0)
145
168
  htmlentities (~> 4.3.4)
146
169
  iso-639
147
- isodoc (~> 1.0.20)
148
- metanorma-standoc (~> 1.3.20)
170
+ isodoc (~> 1.1.0)
171
+ metanorma-standoc (~> 1.4.0)
149
172
  ruby-jing
150
- metanorma-standoc (1.3.26)
173
+ metanorma-standoc (1.4.2)
151
174
  asciidoctor (~> 2.0.0)
152
175
  concurrent-ruby
153
176
  iev (~> 0.2.1)
154
- isodoc (~> 1.0.20)
177
+ isodoc (~> 1.1.0)
155
178
  mathml2asciimath
156
179
  mimemagic
157
- relaton (~> 1.0.0)
180
+ relaton (~> 1.2.0)
158
181
  relaton-iev (~> 1.0.0)
159
182
  ruby-jing
160
183
  sterile (~> 1.0.14)
161
184
  unicode2latex (~> 0.0.1)
162
- metanorma-un (0.3.7)
185
+ metanorma-un (0.4.0)
163
186
  htmlentities (~> 4.3.4)
164
187
  iso-639
165
- isodoc (~> 1.0.0)
166
- metanorma-standoc (~> 1.3.0)
188
+ isodoc (~> 1.1.0)
189
+ metanorma-standoc (~> 1.4.0)
167
190
  roman-numerals
168
191
  ruby-jing
169
192
  twitter_cldr
193
+ method_source (1.0.0)
170
194
  mime-types (3.3.1)
171
195
  mime-types-data (~> 3.2015)
172
- mime-types-data (3.2020.0425)
173
- mimemagic (0.3.4)
196
+ mime-types-data (3.2020.0512)
197
+ mimemagic (0.3.5)
174
198
  mini_portile2 (2.4.0)
175
199
  mixlib-shellout (2.4.4)
200
+ mn2pdf (1.18)
201
+ mn2sts (1.2.0)
176
202
  multipart-post (2.1.1)
177
203
  nokogiri (1.10.9)
178
204
  mini_portile2 (~> 2.4.0)
179
205
  optout (0.0.2)
180
- public_suffix (4.0.4)
206
+ pry (0.13.1)
207
+ coderay (~> 1.1)
208
+ method_source (~> 1.0)
209
+ public_suffix (4.0.5)
181
210
  rake (12.3.3)
182
211
  rchardet (1.8.0)
183
- relaton (1.0.0)
184
- relaton-calconnect (~> 1.0.0)
185
- relaton-gb (~> 1.0.0)
186
- relaton-iec (~> 1.0.0)
187
- relaton-ietf (~> 1.0.0)
188
- relaton-iso (~> 1.0.0)
189
- relaton-itu (~> 1.0.0)
190
- relaton-nist (~> 1.0.0)
191
- relaton-ogc (~> 1.0.0)
192
- relaton-omg (~> 1.0.0)
193
- relaton-un (~> 1.0.0)
194
- relaton-w3c (~> 1.0.0)
195
- relaton-bib (1.0.0)
212
+ relaton (1.2.0)
213
+ relaton-calconnect (~> 1.2.0)
214
+ relaton-gb (~> 1.2.0)
215
+ relaton-iec (~> 1.2.0)
216
+ relaton-ieee (~> 1.2.0)
217
+ relaton-ietf (~> 1.2.0)
218
+ relaton-iho (~> 1.2.0)
219
+ relaton-iso (~> 1.2.0)
220
+ relaton-itu (~> 1.2.0)
221
+ relaton-nist (~> 1.2.0)
222
+ relaton-ogc (~> 1.2.0)
223
+ relaton-omg (~> 1.2.0)
224
+ relaton-un (~> 1.2.0)
225
+ relaton-w3c (~> 1.2.0)
226
+ relaton-bib (1.2.0)
196
227
  addressable
197
228
  bibtex-ruby
198
229
  iso639
199
230
  nokogiri
200
- relaton-calconnect (1.0.0)
231
+ relaton-calconnect (1.2.0)
201
232
  faraday
202
- relaton-iso-bib (~> 1.0.0)
203
- relaton-cli (1.0.1)
233
+ relaton-bib (~> 1.2.0)
234
+ relaton-cli (1.2.0)
204
235
  liquid
205
- relaton (~> 1.0.0)
236
+ relaton (~> 1.2.0)
206
237
  thor
207
- relaton-gb (1.0.0)
238
+ relaton-gb (1.2.0)
208
239
  cnccs (~> 0.1.1)
209
240
  gb-agencies (~> 0.0.1)
210
- relaton-iso-bib (~> 1.0.0)
211
- relaton-iec (1.0.0)
241
+ relaton-iso-bib (>= 1.2.0)
242
+ relaton-iec (1.2.0)
212
243
  addressable
213
- relaton-iso-bib (~> 1.0.0)
214
- relaton-ietf (1.0.0)
215
- relaton-bib (~> 1.0.0)
244
+ relaton-iso-bib (~> 1.2.0)
245
+ relaton-ieee (1.2.0)
246
+ faraday (~> 1.0.0)
247
+ relaton-bib (~> 1.2.0)
248
+ relaton-ietf (1.2.0)
249
+ relaton-bib (~> 1.2.0)
216
250
  relaton-iev (1.0.0)
217
251
  relaton (~> 1)
218
- relaton-iso (1.0.1)
219
- relaton-iec (~> 1.0.0)
220
- relaton-iso-bib (~> 1.0.0)
221
- relaton-iso-bib (1.0.0)
252
+ relaton-iho (1.2.0)
253
+ relaton-bib (~> 1.2.0)
254
+ relaton-iso (1.2.0)
255
+ relaton-iec (~> 1.2.0)
256
+ relaton-iso-bib (~> 1.2.0)
257
+ relaton-iso-bib (1.2.0)
222
258
  isoics (~> 0.1.6)
223
- relaton-bib (~> 1.0.0)
224
- relaton-itu (1.0.0)
225
- relaton-iso-bib (~> 1.0.0)
226
- relaton-nist (1.0.0)
227
- relaton-bib (~> 1.0.0)
259
+ relaton-bib (~> 1.2.0)
260
+ relaton-itu (1.2.0)
261
+ relaton-bib (~> 1.2.0)
262
+ relaton-nist (1.2.0)
263
+ relaton-bib (~> 1.2.0)
228
264
  rubyzip
229
- relaton-ogc (1.0.0)
265
+ relaton-ogc (1.2.0)
230
266
  faraday (~> 1.0.0)
231
- relaton-iso-bib (~> 1.0.0)
232
- relaton-omg (1.0.0)
233
- relaton-bib (~> 1.0.0)
234
- relaton-un (1.0.0)
267
+ relaton-iso-bib (~> 1.2.0)
268
+ relaton-omg (1.2.0)
269
+ relaton-bib (~> 1.2.0)
270
+ relaton-un (1.2.0)
235
271
  faraday
236
272
  http-cookie
237
- relaton-iso-bib (~> 1.0.0)
273
+ relaton-bib (~> 1.2.0)
238
274
  unf_ext (>= 0.0.7.7)
239
- relaton-w3c (1.0.0)
240
- relaton-bib (>= 1.0.0)
275
+ relaton-w3c (1.2.0)
276
+ relaton-bib (>= 1.2.0)
241
277
  roman-numerals (0.3.0)
242
278
  rspec (3.9.0)
243
279
  rspec-core (~> 3.9.0)
@@ -247,9 +283,9 @@ GEM
247
283
  mixlib-shellout (~> 2.0)
248
284
  rspec (~> 3.2)
249
285
  rspec-its (~> 1.2)
250
- rspec-core (3.9.1)
251
- rspec-support (~> 3.9.1)
252
- rspec-expectations (3.9.1)
286
+ rspec-core (3.9.2)
287
+ rspec-support (~> 3.9.3)
288
+ rspec-expectations (3.9.2)
253
289
  diff-lcs (>= 1.2.0, < 2.0)
254
290
  rspec-support (~> 3.9.0)
255
291
  rspec-its (1.3.0)
@@ -258,16 +294,17 @@ GEM
258
294
  rspec-mocks (3.9.1)
259
295
  diff-lcs (>= 1.2.0, < 2.0)
260
296
  rspec-support (~> 3.9.0)
261
- rspec-support (3.9.2)
297
+ rspec-support (3.9.3)
262
298
  ruby-jing (0.0.1)
263
299
  optout (>= 0.0.2)
264
300
  rubyzip (2.3.0)
265
- sassc (2.2.1)
301
+ sassc (2.4.0)
266
302
  ffi (~> 1.9)
267
303
  sterile (1.0.16)
268
304
  nokogiri (>= 1.10.8)
269
305
  thor (0.20.3)
270
306
  thread_safe (0.3.6)
307
+ tokenizer (0.3.0)
271
308
  twitter_cldr (4.4.5)
272
309
  camertron-eprun
273
310
  cldr-plurals-runtime-rb (~> 1.0)
@@ -289,10 +326,11 @@ DEPENDENCIES
289
326
  byebug (~> 10.0)
290
327
  equivalent-xml (~> 0.6)
291
328
  metanorma-cli!
329
+ pry
292
330
  rake (~> 12.0)
293
331
  rspec (~> 3.0)
294
332
  rspec-command (~> 1.0.3)
295
333
  rspec-core (~> 3.4)
296
334
 
297
335
  BUNDLED WITH
298
- 2.0.2
336
+ 2.1.4
data/a CHANGED
@@ -1,2 +1,5 @@
1
- git add lib/metanorma/cli.rb metanorma-cli.gemspec
1
+ git add spec/acceptance/list_extensions_spec.rb spec/acceptance/version_spec.rb
2
+
3
+
4
+
2
5
 
data/a.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "<GUID>",
3
+ "actor": {
4
+ "name": "<Student Name>",
5
+ "mbox": "<Student Email Address>",
6
+ "objectType": "Person"
7
+ },
8
+ "verb": {
9
+ "id": "http://adlnet.gov/expapi/verbs/completed",
10
+ "display": {
11
+ "en-US": "completed"
12
+ }
13
+ },
14
+ "object": {
15
+ "id": "<Activity URL>",
16
+ "definition": {
17
+ "name": {
18
+ "en-US": "<Activity name>"
19
+ },
20
+ "description": {
21
+ "en-US": "<Activity description>"
22
+ },
23
+ "type": "http://id.tincanapi.com/activitytype/resource"
24
+ },
25
+ "objectType": "Activity"
26
+ },
27
+ "result": {
28
+ "completion": "<Boolean>",
29
+ "duration": "<Cumulative ISO 8601 Duration>"
30
+ },
31
+ "timestamp": "<Start, ISO 8601 DATE>"
32
+ }
33
+
@@ -10,9 +10,10 @@ module Metanorma
10
10
  "metanorma-iec",
11
11
  "metanorma-ietf",
12
12
  "metanorma-gb",
13
- "metanorma-csd",
13
+ "metanorma-cc",
14
14
  "metanorma-csa",
15
- "metanorma-m3d",
15
+ "metanorma-iho",
16
+ "metanorma-m3aawg",
16
17
  "metanorma-generic",
17
18
  "metanorma-standoc",
18
19
  "metanorma-un",
@@ -21,7 +22,20 @@ module Metanorma
21
22
  "metanorma-itu",
22
23
  ]
23
24
 
24
- PRIVATE_SUPPORTED_GEMS = ["metanorma-rsd", "metanorma-mpfd"]
25
+ # @TODO: Note
26
+ #
27
+ # This is temporary, we are going to extend this to
28
+ # each of the metanorma gem, so they can specifcy their
29
+ # own font requirements.
30
+ #
31
+ # Please add the whole set here.
32
+ #
33
+ REQUIRED_FONTS = [
34
+ "CALIBRI.TTF",
35
+ "CAMBRIA.TTC",
36
+ ].freeze
37
+
38
+ PRIVATE_SUPPORTED_GEMS = ["metanorma-ribose", "metanorma-mpfa"]
25
39
 
26
40
  def self.load_flavors(flavor_names = SUPPORTED_GEMS + PRIVATE_SUPPORTED_GEMS)
27
41
  flavor_names.each do |flavor|
@@ -80,6 +94,14 @@ module Metanorma
80
94
  Pathname.new(Dir.home).join(".metanorma")
81
95
  end
82
96
 
97
+ def self.fonts_directory
98
+ Metanorma::Cli.home_directory.join("fonts")
99
+ end
100
+
101
+ def self.fonts
102
+ Dir.glob(Metanorma::Cli.fonts_directory.join("**"))
103
+ end
104
+
83
105
  def self.writable_templates_path?
84
106
  parent_directory = templates_path.join("..", "..")
85
107
 
@@ -1,4 +1,5 @@
1
1
  require "thor"
2
+ require "metanorma/cli/setup"
2
3
  require "metanorma/cli/compiler"
3
4
  require "metanorma/cli/generator"
4
5
  require "metanorma/cli/git_template"
@@ -32,7 +33,9 @@ module Metanorma
32
33
  def compile(file_name = nil)
33
34
  if file_name && !options[:version]
34
35
  Metanorma::Cli.load_flavors
35
- Metanorma::Cli::Compiler.compile(file_name, options.dup)
36
+ errs = Metanorma::Cli::Compiler.compile(file_name, options.dup)
37
+ errs.each { |e| Util.log e, :error }
38
+ exit(1) if errs.any?
36
39
 
37
40
  elsif options[:version]
38
41
  invoke(:version, [], type: options[:type], format: options[:format])
@@ -65,14 +68,32 @@ module Metanorma
65
68
  desc "template-repo", "Manage metanorma templates repository"
66
69
  subcommand :template_repo, Metanorma::Cli::Commands::TemplateRepo
67
70
 
71
+ desc "setup", "Initial necessary setup"
72
+ option(
73
+ :agree_to_terms,
74
+ type: :boolean,
75
+ required: false,
76
+ default: false,
77
+ desc: "Agree / Disagree with all third-party licensing terms presented (WARNING: do know what you are agreeing with!)",
78
+ )
79
+
80
+ def setup
81
+ Metanorma::Cli::REQUIRED_FONTS.each do |font|
82
+ Metanorma::Cli::Setup.run(
83
+ font: font,
84
+ term_agreement: options[:agree_to_terms],
85
+ )
86
+ end
87
+ end
88
+
68
89
  private
69
90
 
70
91
  def single_type_extensions(type)
71
- if type
72
- format_keys = find_backend(type).output_formats.keys
73
- UI.say("Supported extensions: #{join_keys(format_keys)}.")
74
- return true
75
- end
92
+ return false unless type
93
+
94
+ format_keys = find_backend(type).output_formats.keys
95
+ UI.say("Supported extensions: #{join_keys(format_keys)}.")
96
+ true
76
97
  end
77
98
 
78
99
  def all_type_extensions
@@ -25,10 +25,12 @@ module Metanorma
25
25
  end
26
26
  end
27
27
 
28
+ # @return [Array<String>]
28
29
  def compile
29
30
  compile_file
30
31
  end
31
32
 
33
+ # @return [Array<String>]
32
34
  def self.compile(file, options)
33
35
  new(file, options).compile
34
36
  end
@@ -37,8 +39,11 @@ module Metanorma
37
39
 
38
40
  attr_reader :file, :options, :extract, :extensions
39
41
 
42
+ # @return [Array<String>]
40
43
  def compile_file
41
- Compile.new.compile(file, serialize_options)
44
+ c = Compile.new
45
+ c.compile(file, serialize_options)
46
+ c.errors
42
47
  end
43
48
 
44
49
  def serialize_options
@@ -0,0 +1,80 @@
1
+ require "fontist"
2
+ require "fileutils"
3
+
4
+ module Metanorma
5
+ module Cli
6
+ class Setup
7
+ def initialize(options)
8
+ @options = options
9
+ @font_name = options.fetch(:font)
10
+ @term_agreement = options.fetch(:term_agreement, false)
11
+
12
+ create_metanorma_fonts_directory
13
+ end
14
+
15
+ def self.run(options = {})
16
+ new(options).run
17
+ end
18
+
19
+ def run
20
+ font = Metanorma::Cli.fonts.grep(/#{font_name}/i)
21
+
22
+ if font.empty?
23
+ font_paths = download_font
24
+ copy_to_fonts(font_paths)
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ attr_reader :font_name, :options, :term_agreement
31
+
32
+ def create_metanorma_fonts_directory
33
+ unless Metanorma::Cli.fonts_directory.exist?
34
+ FileUtils.mkdir_p(Metanorma::Cli.fonts_directory)
35
+ end
36
+ end
37
+
38
+ def metanorma_fonts_path
39
+ @metanorma_fonts_path ||= Metanorma::Cli.fonts_directory
40
+ end
41
+
42
+ def download_font
43
+ Fontist::Finder.find(font_name)
44
+ rescue Fontist::Errors::MissingFontError
45
+ ask_user_and_download_font(font_name)
46
+ end
47
+
48
+ def copy_to_fonts(fonts_path)
49
+ fonts_path.each do |font_path|
50
+ font_name = File.basename(font_path)
51
+ FileUtils.copy_file(font_path, metanorma_fonts_path.join(font_name))
52
+ end
53
+ end
54
+
55
+ def ask_user_and_download_font(font_name)
56
+ response = term_agreement ? "yes" : "no"
57
+
58
+ if !term_agreement
59
+ response = UI.ask(message.strip)
60
+ end
61
+
62
+ if response.downcase === "yes"
63
+ Fontist::Installer.download(font_name, confirmation: response)
64
+ end
65
+ end
66
+
67
+ def message
68
+ <<~MSG
69
+ Metanorma has detected that you do not have the necessary fonts installed
70
+ for PDF generation. The generated PDF will use generic fonts that may not
71
+ resemble the desired styling. Metanorma can download these files for you
72
+ if you accept the font licensing conditions for the font #{font_name}.
73
+
74
+ If you want Metanorma to download these fonts for you and indicate your
75
+ acceptance of the font licenses, type "Yes" / "No":
76
+ MSG
77
+ end
78
+ end
79
+ end
80
+ end
@@ -3,8 +3,8 @@ require "thor"
3
3
  module Metanorma
4
4
  module Cli
5
5
  class UI < Thor
6
- def self.ask(message)
7
- new.ask(message)
6
+ def self.ask(message, options = {})
7
+ new.ask(message, options)
8
8
  end
9
9
 
10
10
  def self.say(message)
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.2.11.2"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
  spec.required_ruby_version = '>= 2.4.0'
25
25
 
26
+ spec.add_development_dependency "pry"
26
27
  spec.add_development_dependency "rake", "~> 12.0"
27
28
  spec.add_development_dependency "rspec", "~> 3.0"
28
29
  spec.add_development_dependency "byebug", "~> 10.0"
@@ -31,24 +32,26 @@ Gem::Specification.new do |spec|
31
32
  spec.add_development_dependency "rspec-core", "~> 3.4"
32
33
 
33
34
  spec.add_runtime_dependency "thor", "~> 0.20.3"
34
- spec.add_runtime_dependency "metanorma-iso", "~> 1.3.0"
35
- spec.add_runtime_dependency 'metanorma-ietf', "~> 2.0.0"
36
- spec.add_runtime_dependency 'metanorma-gb', "~> 1.3.0"
37
- spec.add_runtime_dependency 'metanorma-iec', "~> 1.0.0"
38
- spec.add_runtime_dependency 'metanorma-csd', "~> 1.3.0"
39
- spec.add_runtime_dependency 'metanorma-csa', "~> 1.4.0"
40
- #spec.add_runtime_dependency 'metanorma-rsd', "~> 1.4.0"
41
- spec.add_runtime_dependency 'metanorma-m3d', "~> 1.3.0"
42
- spec.add_runtime_dependency 'metanorma-generic', "~> 1.4.0"
43
- spec.add_runtime_dependency 'metanorma-standoc', "~> 1.3.0", ">= 1.3.18"
44
- #spec.add_runtime_dependency 'metanorma-mpfd', "~> 0.1.0"
45
- spec.add_runtime_dependency 'metanorma-un', "~> 0.3.1"
46
- spec.add_runtime_dependency 'metanorma-ogc', "~> 1.0.0"
47
- spec.add_runtime_dependency 'metanorma-nist', "~> 1.0.0"
48
- spec.add_runtime_dependency 'metanorma-itu', "~> 1.0.0"
49
- spec.add_runtime_dependency 'isodoc', "~> 1.0.0"
50
- spec.add_runtime_dependency 'metanorma', "~> 1.0.0"
35
+ spec.add_runtime_dependency "metanorma-iso", "~> 1.4.0"
36
+ spec.add_runtime_dependency 'metanorma-ietf', "~> 2.1.0"
37
+ spec.add_runtime_dependency 'metanorma-gb', "~> 1.4.0"
38
+ spec.add_runtime_dependency 'metanorma-iec', "~> 1.1.0"
39
+ spec.add_runtime_dependency 'metanorma-cc', "~> 1.4.0"
40
+ spec.add_runtime_dependency 'metanorma-csa', "~> 1.5.0"
41
+ #spec.add_runtime_dependency 'metanorma-ribose', "~> 1.5.0"
42
+ spec.add_runtime_dependency 'metanorma-m3aawg', "~> 1.4.0"
43
+ spec.add_runtime_dependency 'metanorma-generic', "~> 1.5.0"
44
+ spec.add_runtime_dependency 'metanorma-standoc', "~> 1.4.0"
45
+ #spec.add_runtime_dependency 'metanorma-mpfa', "~> 0.4.0"
46
+ spec.add_runtime_dependency 'metanorma-un', "~> 0.4.0"
47
+ spec.add_runtime_dependency 'metanorma-ogc', "~> 1.1.0"
48
+ spec.add_runtime_dependency 'metanorma-nist', "~> 1.1.0"
49
+ spec.add_runtime_dependency 'metanorma-itu', "~> 1.1.0"
50
+ spec.add_runtime_dependency 'metanorma-iho', "~> 0.1.0"
51
+ spec.add_runtime_dependency 'isodoc', "~> 1.1.0"
52
+ spec.add_runtime_dependency 'metanorma', "~> 1.1.0"
51
53
  #spec.add_runtime_dependency 'nokogiri', ">= 1"
52
54
  spec.add_runtime_dependency "git", "~> 1.5"
53
55
  spec.add_runtime_dependency "relaton-cli", ">= 0.8.2"
56
+ spec.add_runtime_dependency "fontist", "~> 0.2.0"
54
57
  end
data/test.rxl CHANGED
@@ -3,7 +3,10 @@
3
3
 
4
4
 
5
5
 
6
-
6
+ <docidentifier type="iso">ISO 123</docidentifier>
7
+ <docidentifier type="iso-with-lang">ISO 123(E)</docidentifier>
8
+ <docidentifier type="iso-reference">ISO 123(E)</docidentifier>
9
+ <docnumber>123</docnumber>
7
10
  <contributor>
8
11
  <role type="author"/>
9
12
  <organization>
@@ -20,7 +23,7 @@
20
23
  </contributor>
21
24
 
22
25
  <language>en</language>
23
- <script>Latn</script>
26
+ <script>script.html</script>
24
27
  <status>
25
28
  <stage abbreviation="IS">60</stage>
26
29
  <substage>60</substage>
@@ -41,6 +44,9 @@
41
44
  <subcommittee/>
42
45
  <workgroup/>
43
46
  </editorialgroup>
47
+ <structuredidentifier>
48
+ <project-number>ISO 123</project-number>
49
+ </structuredidentifier>
44
50
  <stagename>International standard</stagename>
45
51
  </ext>
46
52
  </bibdata>
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.11.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-01 00:00:00.000000000 Z
11
+ date: 2020-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rake
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -114,216 +128,224 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 1.3.0
131
+ version: 1.4.0
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 1.3.0
138
+ version: 1.4.0
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: metanorma-ietf
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: 2.0.0
145
+ version: 2.1.0
132
146
  type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: 2.0.0
152
+ version: 2.1.0
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: metanorma-gb
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 1.3.0
159
+ version: 1.4.0
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 1.3.0
166
+ version: 1.4.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: metanorma-iec
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: 1.0.0
173
+ version: 1.1.0
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: 1.0.0
180
+ version: 1.1.0
167
181
  - !ruby/object:Gem::Dependency
168
- name: metanorma-csd
182
+ name: metanorma-cc
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: 1.3.0
187
+ version: 1.4.0
174
188
  type: :runtime
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: 1.3.0
194
+ version: 1.4.0
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: metanorma-csa
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - "~>"
186
200
  - !ruby/object:Gem::Version
187
- version: 1.4.0
201
+ version: 1.5.0
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - "~>"
193
207
  - !ruby/object:Gem::Version
194
- version: 1.4.0
208
+ version: 1.5.0
195
209
  - !ruby/object:Gem::Dependency
196
- name: metanorma-m3d
210
+ name: metanorma-m3aawg
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: 1.3.0
215
+ version: 1.4.0
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: 1.3.0
222
+ version: 1.4.0
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: metanorma-generic
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - "~>"
214
228
  - !ruby/object:Gem::Version
215
- version: 1.4.0
229
+ version: 1.5.0
216
230
  type: :runtime
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
- version: 1.4.0
236
+ version: 1.5.0
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: metanorma-standoc
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
241
  - - "~>"
228
242
  - !ruby/object:Gem::Version
229
- version: 1.3.0
230
- - - ">="
231
- - !ruby/object:Gem::Version
232
- version: 1.3.18
243
+ version: 1.4.0
233
244
  type: :runtime
234
245
  prerelease: false
235
246
  version_requirements: !ruby/object:Gem::Requirement
236
247
  requirements:
237
248
  - - "~>"
238
249
  - !ruby/object:Gem::Version
239
- version: 1.3.0
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- version: 1.3.18
250
+ version: 1.4.0
243
251
  - !ruby/object:Gem::Dependency
244
252
  name: metanorma-un
245
253
  requirement: !ruby/object:Gem::Requirement
246
254
  requirements:
247
255
  - - "~>"
248
256
  - !ruby/object:Gem::Version
249
- version: 0.3.1
257
+ version: 0.4.0
250
258
  type: :runtime
251
259
  prerelease: false
252
260
  version_requirements: !ruby/object:Gem::Requirement
253
261
  requirements:
254
262
  - - "~>"
255
263
  - !ruby/object:Gem::Version
256
- version: 0.3.1
264
+ version: 0.4.0
257
265
  - !ruby/object:Gem::Dependency
258
266
  name: metanorma-ogc
259
267
  requirement: !ruby/object:Gem::Requirement
260
268
  requirements:
261
269
  - - "~>"
262
270
  - !ruby/object:Gem::Version
263
- version: 1.0.0
271
+ version: 1.1.0
264
272
  type: :runtime
265
273
  prerelease: false
266
274
  version_requirements: !ruby/object:Gem::Requirement
267
275
  requirements:
268
276
  - - "~>"
269
277
  - !ruby/object:Gem::Version
270
- version: 1.0.0
278
+ version: 1.1.0
271
279
  - !ruby/object:Gem::Dependency
272
280
  name: metanorma-nist
273
281
  requirement: !ruby/object:Gem::Requirement
274
282
  requirements:
275
283
  - - "~>"
276
284
  - !ruby/object:Gem::Version
277
- version: 1.0.0
285
+ version: 1.1.0
278
286
  type: :runtime
279
287
  prerelease: false
280
288
  version_requirements: !ruby/object:Gem::Requirement
281
289
  requirements:
282
290
  - - "~>"
283
291
  - !ruby/object:Gem::Version
284
- version: 1.0.0
292
+ version: 1.1.0
285
293
  - !ruby/object:Gem::Dependency
286
294
  name: metanorma-itu
287
295
  requirement: !ruby/object:Gem::Requirement
288
296
  requirements:
289
297
  - - "~>"
290
298
  - !ruby/object:Gem::Version
291
- version: 1.0.0
299
+ version: 1.1.0
292
300
  type: :runtime
293
301
  prerelease: false
294
302
  version_requirements: !ruby/object:Gem::Requirement
295
303
  requirements:
296
304
  - - "~>"
297
305
  - !ruby/object:Gem::Version
298
- version: 1.0.0
306
+ version: 1.1.0
307
+ - !ruby/object:Gem::Dependency
308
+ name: metanorma-iho
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: 0.1.0
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: 0.1.0
299
321
  - !ruby/object:Gem::Dependency
300
322
  name: isodoc
301
323
  requirement: !ruby/object:Gem::Requirement
302
324
  requirements:
303
325
  - - "~>"
304
326
  - !ruby/object:Gem::Version
305
- version: 1.0.0
327
+ version: 1.1.0
306
328
  type: :runtime
307
329
  prerelease: false
308
330
  version_requirements: !ruby/object:Gem::Requirement
309
331
  requirements:
310
332
  - - "~>"
311
333
  - !ruby/object:Gem::Version
312
- version: 1.0.0
334
+ version: 1.1.0
313
335
  - !ruby/object:Gem::Dependency
314
336
  name: metanorma
315
337
  requirement: !ruby/object:Gem::Requirement
316
338
  requirements:
317
339
  - - "~>"
318
340
  - !ruby/object:Gem::Version
319
- version: 1.0.0
341
+ version: 1.1.0
320
342
  type: :runtime
321
343
  prerelease: false
322
344
  version_requirements: !ruby/object:Gem::Requirement
323
345
  requirements:
324
346
  - - "~>"
325
347
  - !ruby/object:Gem::Version
326
- version: 1.0.0
348
+ version: 1.1.0
327
349
  - !ruby/object:Gem::Dependency
328
350
  name: git
329
351
  requirement: !ruby/object:Gem::Requirement
@@ -352,6 +374,20 @@ dependencies:
352
374
  - - ">="
353
375
  - !ruby/object:Gem::Version
354
376
  version: 0.8.2
377
+ - !ruby/object:Gem::Dependency
378
+ name: fontist
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - "~>"
382
+ - !ruby/object:Gem::Version
383
+ version: 0.2.0
384
+ type: :runtime
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - "~>"
389
+ - !ruby/object:Gem::Version
390
+ version: 0.2.0
355
391
  description: Executable to process any Metanorma standard.
356
392
  email:
357
393
  - open.source@ribose.com
@@ -373,6 +409,7 @@ files:
373
409
  - README.adoc
374
410
  - Rakefile
375
411
  - a
412
+ - a.json
376
413
  - a.rb
377
414
  - a.rxl
378
415
  - b
@@ -395,6 +432,7 @@ files:
395
432
  - lib/metanorma/cli/errors.rb
396
433
  - lib/metanorma/cli/generator.rb
397
434
  - lib/metanorma/cli/git_template.rb
435
+ - lib/metanorma/cli/setup.rb
398
436
  - lib/metanorma/cli/template_repo.rb
399
437
  - lib/metanorma/cli/ui.rb
400
438
  - lib/metanorma/cli/version.rb
@@ -430,7 +468,7 @@ homepage: https://www.metanorma.com
430
468
  licenses:
431
469
  - BSD-2-Clause
432
470
  metadata: {}
433
- post_install_message:
471
+ post_install_message:
434
472
  rdoc_options: []
435
473
  require_paths:
436
474
  - lib
@@ -445,9 +483,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
445
483
  - !ruby/object:Gem::Version
446
484
  version: '0'
447
485
  requirements: []
448
- rubyforge_project:
449
- rubygems_version: 2.7.6
450
- signing_key:
486
+ rubygems_version: 3.0.3
487
+ signing_key:
451
488
  specification_version: 4
452
489
  summary: Metanorma is the standard of standards; the metanorma gem allows you to create
453
490
  any standard document type supported by Metanorma.