metanorma-cli 1.4.13 → 1.4.15

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: 9d970059361b835cee83ac9cf99d7876552536a656db299fddaab7f1b66586a4
4
- data.tar.gz: f98918779ead848b3f60d683b931bb9b9b0074102aabb02aa89c9824695871d4
3
+ metadata.gz: c699cdb1e6754c4487fb2647823057bc3b4940bffe39db815933b15c33f34bce
4
+ data.tar.gz: 983031e88418c45cf3027e1d7b41015bea7e8ee08d2ad3311e8592a3009b4436
5
5
  SHA512:
6
- metadata.gz: 662c3d0ef7dff9526feed6e91d54d79b4e1b16e12783a817ee6f42e3bd3fb1f210e9054592a59817e2b26b6919df3f2035949fc47985902e4ab588644f826658
7
- data.tar.gz: 87379dc1184a7760aeac5ba59bbb8ed315973d14299262054d3588efbff6f5c3e803a362e96ae250f7f5f34008b430d79036dad23ce76a44cad87a50fba91758
6
+ metadata.gz: 0412c5e0bf42f9c96bb9fadf72497a929634a560906b371bdcc415403ce724baa7cf8c23d8c9dfaf2ac05b83b4b57e01ece237f949220fc4b75d6396e5e15fb8
7
+ data.tar.gz: f42876f7c9f5b759c0ae045c645d4e07ede3d571bdd9f1d3da91b2bbb7ba25d25f433798e98188e2c56c8a4c0611aeabce4890b1ba5ef63bc27eaa07f604b3ed
@@ -17,7 +17,8 @@ def uuid
17
17
  end
18
18
 
19
19
  def extract_documents(m)
20
- return [] unless m and m["sections"]
20
+ return [] unless m && m["sections"]
21
+
21
22
  ret = []
22
23
  m["sections"].each do |s|
23
24
  ret << s if s["file"]
@@ -28,17 +29,19 @@ end
28
29
 
29
30
  def hyperlink(link, suffix)
30
31
  return unless link
32
+
31
33
  link.sub(/\.adoc(?=$|#)/, ".#{suffix}")
32
34
  end
33
35
 
34
36
  def iterate(sections, options)
35
37
  return "" unless sections
38
+
36
39
  ret = ""
37
40
  Array(sections).each do |m|
38
- ret+= "<clause id='#{uuid}'>\n"
39
- title = m["title"] && m["number"] ? "#{m['number']}. #{m['title']}" : ( m["number"] || m["title"] || "&mdash;" )
40
- ret+= "<title>#{title}</title>\n"
41
- ret+= "<p>#{m["type"]}</p>\n" if m["type"]
41
+ ret += "<clause id='#{uuid}'>\n"
42
+ title = m["title"] && m["number"] ? "#{m['number']}. #{m['title']}" : (m["number"] || m["title"] || "&mdash;")
43
+ ret += "<title>#{title}</title>\n"
44
+ ret += "<p>#{m['type']}</p>\n" if m["type"]
42
45
  if m["file"]
43
46
  ret += "<p>"
44
47
  file = hyperlink(m["file"], "html")
@@ -53,20 +56,18 @@ def iterate(sections, options)
53
56
  end
54
57
  ret += "</p>\n"
55
58
  end
56
- ret+= "<p>#{m['description']}</p>\n" if m["description"]
59
+ ret += "<p>#{m['description']}</p>\n" if m["description"]
57
60
  if m["revdate"]
58
- if m["status"]
59
- ret+= "<p>STAGE: #{m["status"]} (#{m['revdate']})</p>\n"
60
- else
61
- ret+= "<p align='right'>#{m['revdate']}</p>\n"
62
- end
63
- else
64
- if m["status"]
65
- ret+= "<p>STAGE: #{m["status"]}</p>\n"
66
- end
61
+ ret += if m["status"]
62
+ "<p>STAGE: #{m['status']} (#{m['revdate']})</p>\n"
63
+ else
64
+ "<p align='right'>#{m['revdate']}</p>\n"
65
+ end
66
+ elsif m["status"]
67
+ ret += "<p>STAGE: #{m['status']}</p>\n"
67
68
  end
68
69
  ret += iterate(m["sections"], options)
69
- ret+= "</clause>\n"
70
+ ret += "</clause>\n"
70
71
  end
71
72
  ret
72
73
  end
@@ -74,24 +75,24 @@ end
74
75
  opt_parser = OptionParser.new do |opts|
75
76
  opts.banner += " <file>"
76
77
  opts.on(
77
- '-t',
78
- '--type TYPE',
79
- "Type of standard to generate"
78
+ "-t",
79
+ "--type TYPE",
80
+ "Type of standard to generate",
80
81
  ) { |v| options[:type] = v.to_sym }
81
82
 
82
83
  opts.on(
83
- '-r',
84
- '--require LIBRARY',
85
- 'Require LIBRARY prior to execution'
86
- ) { |v|
84
+ "-r",
85
+ "--require LIBRARY",
86
+ "Require LIBRARY prior to execution",
87
+ ) do |v|
87
88
  options[:require] ||= []
88
89
  options[:require] << v
89
- }
90
+ end
90
91
 
91
92
  opts.on(
92
- '-R dir',
93
- '--relaton',
94
- "Insert links to relaton XML, generated by relaton-server-csd, with root directory dir (/id/xxxx is supplied)"
93
+ "-R dir",
94
+ "--relaton",
95
+ "Insert links to relaton XML, generated by relaton-server-csd, with root directory dir (/id/xxxx is supplied)",
95
96
  ) { |v| options[:relaton] = v }
96
97
 
97
98
  opts.on_tail("-h", "--help", "Show this message") do
@@ -115,35 +116,35 @@ documents = extract_documents(manifest)
115
116
  # TODO real lookup of namespaces and root elements
116
117
 
117
118
  out = <<~END
118
- <#{options[:type]}-standard xmlns="http://riboseinc.com/isoxml">
119
- <bibdata type="standard">
120
- <title>#{manifest["title"]}</title>
119
+ <#{options[:type]}-standard xmlns="http://riboseinc.com/isoxml">
120
+ <bibdata type="standard">
121
+ <title>#{manifest['title']}</title>
121
122
  END
122
123
 
123
124
  # TODO leave in anchor references?
124
125
  #
125
126
  documents.each do |d|
126
127
  out += <<~END
127
- <relation type="partOf">
128
- <bibdata type="standard">
129
- <title>#{d['title']}</title>
130
- <docidentifier>#{d['number']}</docidentifier>
131
- <abstract>#{d['description']}</abstract>
132
- </bibdata>
133
- </relation>
128
+ <relation type="partOf">
129
+ <bibdata type="standard">
130
+ <title>#{d['title']}</title>
131
+ <docidentifier>#{d['number']}</docidentifier>
132
+ <abstract>#{d['description']}</abstract>
133
+ </bibdata>
134
+ </relation>
134
135
  END
135
136
  end
136
137
 
137
138
  out += <<~END
138
- </bibdata>
139
- <sections>
139
+ </bibdata>
140
+ <sections>
140
141
  END
141
142
 
142
- out+=iterate(manifest["sections"], options)
143
+ out += iterate(manifest["sections"], options)
143
144
 
144
- out+= <<~END
145
- </sections>
146
- <#{options[:type]}-standard>
145
+ out += <<~END
146
+ </sections>
147
+ <#{options[:type]}-standard>
147
148
  END
148
149
  outfilename = options[:filename].sub(/\.[^.]+$/, ".xml")
149
150
  File.open(outfilename, "w") { |f| f.write out }
@@ -153,5 +154,8 @@ ext = :html
153
154
  file_extension = "html" || processor.output_formats[ext]
154
155
  outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}")
155
156
  isodoc_options = { suppressheadingnumbers: true }
156
- isodoc_options[:htmlstylesheet] = manifest["htmlstylesheet"] if manifest["htmlstylesheet"]
157
+ if manifest["htmlstylesheet"]
158
+ isodoc_options[:htmlstylesheet] =
159
+ manifest["htmlstylesheet"]
160
+ end
157
161
  processor.output(out, outfilename, ext, isodoc_options)
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.4.13".freeze
3
+ VERSION = "1.4.15".freeze
4
4
  end
5
5
  end
@@ -55,7 +55,7 @@ Gem::Specification.new do |spec|
55
55
  spec.add_runtime_dependency "metanorma-iho", "~> 0.3.0"
56
56
  spec.add_runtime_dependency "metanorma-itu", "~> 1.3.0"
57
57
  # spec.add_runtime_dependency "metanorma-nist", "~> 1.3.0"
58
- spec.add_runtime_dependency "metanorma-ogc", "~> 1.3.0"
58
+ spec.add_runtime_dependency "metanorma-ogc", "~> 1.4.0"
59
59
  spec.add_runtime_dependency "metanorma-un", "~> 0.6.0"
60
60
  spec.add_runtime_dependency "relaton-cli", ">= 0.8.2"
61
61
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.13
4
+ version: 1.4.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-03 00:00:00.000000000 Z
11
+ date: 2021-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -380,14 +380,14 @@ dependencies:
380
380
  requirements:
381
381
  - - "~>"
382
382
  - !ruby/object:Gem::Version
383
- version: 1.3.0
383
+ version: 1.4.0
384
384
  type: :runtime
385
385
  prerelease: false
386
386
  version_requirements: !ruby/object:Gem::Requirement
387
387
  requirements:
388
388
  - - "~>"
389
389
  - !ruby/object:Gem::Version
390
- version: 1.3.0
390
+ version: 1.4.0
391
391
  - !ruby/object:Gem::Dependency
392
392
  name: metanorma-un
393
393
  requirement: !ruby/object:Gem::Requirement
@@ -513,8 +513,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
513
513
  - !ruby/object:Gem::Version
514
514
  version: '0'
515
515
  requirements: []
516
- rubyforge_project:
517
- rubygems_version: 2.7.7
516
+ rubygems_version: 3.1.4
518
517
  signing_key:
519
518
  specification_version: 4
520
519
  summary: Metanorma is the standard of standards; the metanorma gem allows you to create