metanorma 0.2.5 → 0.2.6

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: e035adbe0198188b313c2b91ea58ec320e056e5f9b0b34a56cebbe782531cc03
4
- data.tar.gz: e328e75abb7ea5d0d10582f9459d8e843b5f9b205dafe59447475945671d171e
3
+ metadata.gz: 65769038eade4b4613c4a2e8d3afae9937aff96be1de9c2837edf3daaf0b4864
4
+ data.tar.gz: c0f88cd2052207059fd87a27fb53ef5ef67d5f34df5f7911e43438a40c853d8f
5
5
  SHA512:
6
- metadata.gz: 65fe8520fc1e1e8e8d5855cf977809b9eb1998dd5050b9c0f9432c544d1534d68d9830bf7c68e9260f41474392c607e437dfe31e9a84b2fe7874339aeca42ec4
7
- data.tar.gz: ca6f446651de13513fb8d710b816fcb8f9257883b3de2faac54e5d396232ac60f2bc95ed0cfdf84bfb85a3eec392298bd651429ee07f20c77367fb3733276ee6
6
+ metadata.gz: 481b22243ec66037111e6e278f5a20fcf838c83de0eb5e4cad5326fe190c8b4ea04d70e3ce2b6f68aca442f7fe36c5e6d49ebcaf537cca86dc2f14fb81498fff
7
+ data.tar.gz: b37a1957127ac6b27299d7fddacaf1ad3596834a239993bc83e9be052d8f93faa1e2b823c7251ca1bd39aa73a164851383a5839f8b700a9e5eca0e4ddd0a4710
data/.travis.yml CHANGED
@@ -1,7 +1,10 @@
1
+ dist: trusty
1
2
  sudo: false
2
3
  language: ruby
3
4
  rvm:
4
- - 2.5.1
5
+ - 2.5
6
+ - 2.4
7
+ - ruby-head
5
8
  node_js:
6
9
  - "iojs"
7
10
  - "8"
@@ -9,4 +12,7 @@ before_install:
9
12
  - gem install bundler -v 1.16.1
10
13
  - npm install -g puppeteer
11
14
  - npm install
15
+ matrix:
16
+ allow_failures:
17
+ - rvm: ruby-head
12
18
 
data/Gemfile.lock CHANGED
@@ -2,142 +2,19 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  metanorma (0.2.5)
5
- asciidoctor-csand (>= 0.3.0)
6
- asciidoctor-csd (>= 0.4.0)
7
- asciidoctor-gb (>= 0.3.0)
8
- asciidoctor-iso (>= 0.9.1)
9
- asciidoctor-m3d (>= 0.3.1)
10
- asciidoctor-rfc (>= 0.9.0)
11
- asciidoctor-rsd (>= 0.3.0)
12
- isodoc (>= 0.8.0)
13
5
 
14
6
  GEM
15
7
  remote: https://rubygems.org/
16
8
  specs:
17
- algoliasearch (1.23.2)
18
- httpclient (~> 2.8, >= 2.8.3)
19
- json (>= 1.5.1)
20
- asciidoctor (1.5.7.1)
21
- asciidoctor-csand (0.3.1)
22
- asciidoctor (~> 1.5.7)
23
- asciidoctor-iso (>= 0.9.0)
24
- asciimath
25
- htmlentities (~> 4.3.4)
26
- image_size
27
- isodoc (>= 0.8.0)
28
- mime-types
29
- nokogiri
30
- ruby-jing
31
- ruby-xslt
32
- thread_safe
33
- uuidtools
34
- asciidoctor-csd (0.4.1)
35
- asciidoctor-iso (>= 0.9.0)
36
- isodoc (>= 0.8.0)
37
- asciidoctor-gb (0.3.1)
38
- asciidoctor-iso (>= 0.9.0)
39
- gbbib
40
- isodoc (>= 0.8.0)
41
- twitter_cldr
42
- asciidoctor-iso (0.9.3)
43
- asciidoctor (~> 1.5.7)
44
- iso-bib-item (~> 0.1.6)
45
- isobib (~> 0.1.8)
46
- isodoc (>= 0.8)
47
- ruby-jing
48
- asciidoctor-m3d (0.3.2)
49
- asciidoctor (~> 1.5.7)
50
- asciidoctor-iso (>= 0.9.0)
51
- asciimath
52
- htmlentities (~> 4.3.4)
53
- image_size
54
- isodoc (>= 0.8.0)
55
- mime-types
56
- nokogiri
57
- ruby-jing
58
- ruby-xslt
59
- thread_safe
60
- uuidtools
61
- asciidoctor-rfc (0.9.0)
62
- asciidoctor (~> 1.5.7)
63
- htmlentities (~> 4.3.4)
64
- nokogiri
65
- ruby-jing
66
- thread_safe
67
- asciidoctor-rsd (0.3.1)
68
- asciidoctor (~> 1.5.7)
69
- asciidoctor-iso (>= 0.8.0)
70
- asciimath
71
- htmlentities (~> 4.3.4)
72
- image_size
73
- isodoc (>= 0.7.0)
74
- mime-types
75
- nokogiri
76
- ruby-jing
77
- ruby-xslt
78
- thread_safe
79
- uuidtools
80
- asciimath (1.0.4)
81
9
  byebug (10.0.2)
82
- camertron-eprun (1.1.1)
83
- cldr-plurals-runtime-rb (1.0.1)
84
- cnccs (0.1.1)
85
10
  diff-lcs (1.3)
86
- duplicate (1.1.1)
87
11
  equivalent-xml (0.6.0)
88
12
  nokogiri (>= 1.4.3)
89
- ffi (1.9.25)
90
- gbbib (0.1.2)
91
- cnccs
92
- iso-bib-item
93
- html2doc (0.8.0)
94
- asciimath
95
- htmlentities (~> 4.3.4)
96
- image_size
97
- mime-types
98
- nokogiri
99
- ruby-xslt
100
- thread_safe
101
- uuidtools
102
- htmlentities (4.3.4)
103
- httpclient (2.8.3)
104
- image_size (2.0.0)
105
- iso-bib-item (0.1.10)
106
- duplicate
107
- isoics (~> 0.1.6)
108
- nokogiri
109
- isobib (0.1.9)
110
- algoliasearch
111
- iso-bib-item (~> 0.1.10)
112
- isodoc (0.8.1)
113
- asciimath
114
- html2doc (>= 0.7.1)
115
- htmlentities (~> 4.3.4)
116
- image_size
117
- liquid
118
- mime-types
119
- nokogiri
120
- roman-numerals
121
- ruby-xslt
122
- sass
123
- thread_safe
124
- uuidtools
125
- isoics (0.1.6)
126
- json (2.1.0)
127
- liquid (4.0.0)
128
- mime-types (3.1)
129
- mime-types-data (~> 3.2015)
130
- mime-types-data (3.2016.0521)
131
13
  mini_portile2 (2.3.0)
132
14
  mixlib-shellout (2.3.2)
133
- nokogiri (1.8.3)
15
+ nokogiri (1.8.4)
134
16
  mini_portile2 (~> 2.3.0)
135
- optout (0.0.2)
136
17
  rake (10.5.0)
137
- rb-fsevent (0.10.3)
138
- rb-inotify (0.9.10)
139
- ffi (>= 0.5.0, < 2)
140
- roman-numerals (0.3.0)
141
18
  rspec (3.7.0)
142
19
  rspec-core (~> 3.7.0)
143
20
  rspec-expectations (~> 3.7.0)
@@ -158,22 +35,6 @@ GEM
158
35
  diff-lcs (>= 1.2.0, < 2.0)
159
36
  rspec-support (~> 3.7.0)
160
37
  rspec-support (3.7.1)
161
- ruby-jing (0.0.1)
162
- optout (>= 0.0.2)
163
- ruby-xslt (0.9.10)
164
- sass (3.5.6)
165
- sass-listen (~> 4.0.0)
166
- sass-listen (4.0.0)
167
- rb-fsevent (~> 0.9, >= 0.9.4)
168
- rb-inotify (~> 0.9, >= 0.9.7)
169
- thread_safe (0.3.6)
170
- twitter_cldr (4.4.3)
171
- camertron-eprun
172
- cldr-plurals-runtime-rb (~> 1.0)
173
- tzinfo
174
- tzinfo (1.2.5)
175
- thread_safe (~> 0.1)
176
- uuidtools (2.1.5)
177
38
 
178
39
  PLATFORMS
179
40
  ruby
data/README.adoc CHANGED
@@ -1,5 +1,9 @@
1
1
  = Metanorma: the standard for standards
2
2
 
3
+ image:https://img.shields.io/gem/v/metanorma.svg["Gem Version", link="https://rubygems.org/gems/metanorma"]
4
+ image:https://img.shields.io/travis/riboseinc/metanorma/master.svg["Build Status", link="https://travis-ci.org/riboseinc/metanorma"]
5
+ image:https://codeclimate.com/github/riboseinc/metanorma/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/riboseinc/metanorma"]
6
+
3
7
  Metanorma is dedicated to harmonizing standard documents
4
8
  produced by different standard-setting bodies in a manner that
5
9
  maintains correct semantics while allowing each standard publisher to
@@ -45,7 +49,7 @@ the https://github.com/riboseinc/asciidoctor-m3d/[asciidoctor-m3d implementation
45
49
 
46
50
  == Installation
47
51
 
48
- === All-in-one install
52
+ === All-in-one install, MacOS
49
53
 
50
54
  macOS users can directly run the Metanorma setup script located here:
51
55
  https://github.com/riboseinc/metanorma-macos-setup
@@ -53,6 +57,35 @@ https://github.com/riboseinc/metanorma-macos-setup
53
57
  This is a one-stop installation script that setups Ruby, Node
54
58
  and all necessary parts for running Metanorma.
55
59
 
60
+ === Installation, https://www.ubuntu.com[Ubunto]
61
+
62
+ [source,sh]
63
+ ----
64
+ # Set up prerequisites
65
+ apt-get update
66
+ apt install -y git make ruby-bundler ruby-dev libxml2-dev libxslt-dev default-jre
67
+ gem install bundler
68
+ gem install nokogiri -v '1.8.4'
69
+ gem install metanorma-cli
70
+ ----
71
+
72
+ (You may need to run these as `sudo`)
73
+
74
+ If you want to run Ubuntu on MacOS, you should do the following beforehand:
75
+
76
+ [source,sh]
77
+ ----
78
+ # Setup docker through dinghy on MacOS:
79
+ brew tap codekitchen/dinghy
80
+ brew install dinghy
81
+ brew install docker docker-machine
82
+ dinghy create --provider virtualbox
83
+
84
+ # Run the Ubuntu container:
85
+ dinghy up
86
+ eval $(dinghy env)
87
+ docker run -it ubuntu:18.10 bash
88
+ ----
56
89
 
57
90
  === Installing individual components
58
91
 
@@ -60,7 +93,7 @@ The Metanorma workflow can be utilized via the `metanorma` Ruby gem.
60
93
 
61
94
  [source,sh]
62
95
  ----
63
- gem install metanorma
96
+ gem install metanorma-cli
64
97
  ----
65
98
 
66
99
  If you are going to generate PDFs from HTML (which applies to CSD), you will also need to install
File without changes
@@ -4,7 +4,7 @@ module Metanorma
4
4
 
5
5
  def convert(url_path, output_path)
6
6
  file_url = "file://#{Dir.pwd}/#{url_path}"
7
- pdfjs = File.join(File.dirname(__FILE__), '../../../exe/metanorma-pdf.js')
7
+ pdfjs = File.join(File.dirname(__FILE__), '../../../bin/metanorma-pdf.js')
8
8
  system "export NODE_PATH=$(npm root --quiet -g);
9
9
  node #{pdfjs} #{file_url} #{output_path}"
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
data/metanorma.gemspec CHANGED
@@ -10,16 +10,16 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['open.source@ribose.com']
11
11
 
12
12
  spec.summary = %q{Metanorma is the standard of standards; the metanorma gem allows you to create any standard document type supported by Metanorma.}
13
- spec.description = %q{Executable and library to process any Metanorma standard.}
13
+ spec.description = %q{Library to process any Metanorma standard.}
14
14
  spec.homepage = "https://github.com/riboseinc/metanorma"
15
- spec.license = "MIT"
15
+ spec.license = "BSD-2-Clause"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
20
  spec.extra_rdoc_files = %w[README.adoc CHANGELOG.adoc LICENSE.txt]
21
- spec.bindir = "exe"
22
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.bindir = "bin"
22
+ #spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.required_ruby_version = '>= 2.4.0'
@@ -31,12 +31,4 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "rspec-command", "~> 1.0.3"
32
32
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
33
33
 
34
- spec.add_runtime_dependency 'asciidoctor-iso', ">= 0.9.1"
35
- spec.add_runtime_dependency 'asciidoctor-rfc', ">= 0.9.0"
36
- spec.add_runtime_dependency 'asciidoctor-gb', ">= 0.3.0"
37
- spec.add_runtime_dependency 'asciidoctor-csd', ">= 0.4.0"
38
- spec.add_runtime_dependency 'asciidoctor-csand', ">= 0.3.0"
39
- spec.add_runtime_dependency 'asciidoctor-rsd', ">= 0.3.0"
40
- spec.add_runtime_dependency 'asciidoctor-m3d', ">= 0.3.1"
41
- spec.add_runtime_dependency 'isodoc', ">= 0.8.0"
42
34
  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: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-02 00:00:00.000000000 Z
11
+ date: 2018-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,124 +94,10 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.6'
97
- - !ruby/object:Gem::Dependency
98
- name: asciidoctor-iso
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: 0.9.1
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 0.9.1
111
- - !ruby/object:Gem::Dependency
112
- name: asciidoctor-rfc
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: 0.9.0
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 0.9.0
125
- - !ruby/object:Gem::Dependency
126
- name: asciidoctor-gb
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: 0.3.0
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: 0.3.0
139
- - !ruby/object:Gem::Dependency
140
- name: asciidoctor-csd
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: 0.4.0
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 0.4.0
153
- - !ruby/object:Gem::Dependency
154
- name: asciidoctor-csand
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 0.3.0
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: 0.3.0
167
- - !ruby/object:Gem::Dependency
168
- name: asciidoctor-rsd
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: 0.3.0
174
- type: :runtime
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: 0.3.0
181
- - !ruby/object:Gem::Dependency
182
- name: asciidoctor-m3d
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: 0.3.1
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: 0.3.1
195
- - !ruby/object:Gem::Dependency
196
- name: isodoc
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: 0.8.0
202
- type: :runtime
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: 0.8.0
209
- description: Executable and library to process any Metanorma standard.
97
+ description: Library to process any Metanorma standard.
210
98
  email:
211
99
  - open.source@ribose.com
212
- executables:
213
- - metanorma
214
- - metanorma-pdf.js
100
+ executables: []
215
101
  extensions: []
216
102
  extra_rdoc_files:
217
103
  - README.adoc
@@ -229,9 +115,8 @@ files:
229
115
  - README.adoc
230
116
  - Rakefile
231
117
  - bin/console
118
+ - bin/metanorma-pdf.js
232
119
  - bin/setup
233
- - exe/metanorma
234
- - exe/metanorma-pdf.js
235
120
  - lib/metanorma.rb
236
121
  - lib/metanorma/document.rb
237
122
  - lib/metanorma/input.rb
@@ -246,7 +131,7 @@ files:
246
131
  - metanorma.gemspec
247
132
  homepage: https://github.com/riboseinc/metanorma
248
133
  licenses:
249
- - MIT
134
+ - BSD-2-Clause
250
135
  metadata: {}
251
136
  post_install_message:
252
137
  rdoc_options: []
data/exe/metanorma DELETED
@@ -1,140 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "optparse"
4
- require "metanorma"
5
-
6
- registry = Metanorma::Registry.instance
7
-
8
- supported_gem_paths = [
9
- "asciidoctor-rfc",
10
- "asciidoctor-iso",
11
- "asciidoctor-gb",
12
- "asciidoctor-csd",
13
- "asciidoctor-csand",
14
- "asciidoctor-m3d",
15
- "asciidoctor-rsd"
16
- ]
17
-
18
- puts "[metanorma] detecting backends:"
19
- supported_gem_paths.each do |backend|
20
- begin
21
- puts backend
22
- require backend
23
- rescue LoadError
24
- puts "[metanorma] backend #{backend} not present"
25
- end
26
- end
27
- puts
28
-
29
- options = {
30
- format: :asciidoc
31
- }
32
- opt_parser = OptionParser.new do |opts|
33
- opts.banner += " <file>"
34
- opts.on(
35
- '-t',
36
- '--type TYPE',
37
- "Type of standard to generate: #{registry.supported_backends.join(", ")}"
38
- ) { |v| options[:type] = v.to_sym }
39
-
40
- opts.on(
41
- '-x',
42
- '--extensions EXT1,EXT2,...',
43
- Array,
44
- "Type of extension to generate per type: #{registry.output_formats}\n"
45
- ) { |v| options[:extension_keys] = v.map(&:to_sym) }
46
-
47
- opts.on(
48
- '-f',
49
- '--format FORMAT',
50
- 'Format of source file: asciidoc (current default, only format supported)'
51
- ) { |v| options[:format] = v.to_sym }
52
-
53
- opts.on(
54
- '-r',
55
- '--require LIBRARY',
56
- 'Require LIBRARY prior to execution'
57
- ) { |v|
58
- options[:require] ||= []
59
- options[:require] << v
60
- }
61
-
62
- opts.on(
63
- '-v',
64
- '--version',
65
- "Print version of code (accompanied with -t)",
66
- ) { options[:version] = true }
67
-
68
- opts.on_tail("-h", "--help", "Show this message") do
69
- puts opts
70
- exit
71
- end
72
-
73
- end
74
-
75
- opt_parser.parse!(ARGV)
76
-
77
- if options[:version]
78
- case options[:format]
79
- when :asciidoc
80
- processor = registry.find_processor(options[:type].to_sym)
81
- puts processor.version
82
- exit
83
- end
84
- end
85
-
86
- options[:filename] = ARGV.pop
87
-
88
- unless options[:type]
89
- puts "[metanorma] Error: Please specify a standard type."
90
- puts opt_parser.help
91
- exit 0
92
- end
93
-
94
- unless registry.supported_backends.include? options[:type]
95
- puts "[metanorma] Error: #{options[:type]} is not a supported standard type."
96
- exit 0
97
- end
98
-
99
- unless options[:format] == :asciidoc
100
- puts "[metanorma] Error: Only source file format currently supported is 'asciidoc'."
101
- exit 0
102
- end
103
-
104
- unless options[:filename]
105
- puts "[metanorma] Error: Need to specify a file to process."
106
- exit 0
107
- end
108
-
109
- if options[:require]
110
- options[:require].each do |r|
111
- require r
112
- end
113
- end
114
-
115
- case options[:format]
116
- when :asciidoc
117
- processor = registry.find_processor(options[:type].to_sym)
118
- options[:extension_keys] ||= processor.output_formats.inject([]) do |memo, (k, _)|
119
- memo << k; memo
120
- end
121
- extensions = options[:extension_keys].inject([]) do |memo, e|
122
- if processor.output_formats[e]
123
- memo << e
124
- else
125
- warn "[metanorma] Error: #{e} format is not supported for this standard"
126
- end
127
- memo
128
- end
129
- exit 0 if extensions.empty?
130
-
131
- file = File.read(options[:filename], encoding: "utf-8")
132
- isodoc = processor.input_to_isodoc(file)
133
- isodoc_options = processor.extract_options(file)
134
- extensions.each do |ext|
135
- file_extension = processor.output_formats[ext]
136
- outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}")
137
- processor.output(isodoc, outfilename, ext, isodoc_options)
138
- end
139
- end
140
-