metanorma-mpfd 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 238bab7a2daa91c072fcffe1e980e0f0ecb5e62eb7c172a4a6c370cc99e852f9
4
- data.tar.gz: d1d85bb87fd2370b0f9834439a2e6ecf5aeb2894fc5b5c0899f87095e7b0ce72
3
+ metadata.gz: 3aa5a9f0ef4bfd60f3ed379ab93658d135595d46f683ccf902cf500dc872259d
4
+ data.tar.gz: acc27115044a5e3f1503e81bf004144538123dde339c35340a19acb1a37c6efb
5
5
  SHA512:
6
- metadata.gz: b85ce0da3f2519239833cc72e1f1f8a6fe4306495a7e95d1df5820518f371d5c5c7af81c93ae3aad04b14fbdc05a33bc8e6a2085d0f3dd61b9c2dc836e79838f
7
- data.tar.gz: a1819b39e4002c1cd5f976f54dae5172e7519f4e7be2c26cfcc8fd8e93be46fa923f2858def537a9a06ab09424e7421a41e56ae16c0508f5fe1cdf8dc27e618d
6
+ metadata.gz: 5cf869caa9bc42e2ba1369d100bf737316ea04b34994b39ea00d00024b1ad9c340c903e82fdbc1ecb20af1754fc6f0c60de9b043d28bc5ee0a047a322159cb2f
7
+ data.tar.gz: 47516f68c9b7c8b079af57a1bee5cc161fb21e8563f430679fe7a8cbacd5d463c91b67af075d820f44df54da32df6719eea825cfabd742da777d551ff1fd8b06
@@ -161,6 +161,10 @@ module Asciidoctor
161
161
  titlefont: node.attr("title-font"),
162
162
  i18nyaml: node.attr("i18nyaml"),
163
163
  scope: node.attr("scope"),
164
+ htmlstylesheet: node.attr("htmlstylesheet"),
165
+ htmlcoverpage: node.attr("htmlcoverpage"),
166
+ htmlintropage: node.attr("htmlintropage"),
167
+ scripts: node.attr("scripts"),
164
168
  )
165
169
  end
166
170
 
@@ -173,6 +177,13 @@ module Asciidoctor
173
177
  titlefont: node.attr("title-font"),
174
178
  i18nyaml: node.attr("i18nyaml"),
175
179
  scope: node.attr("scope"),
180
+ wordstylesheet: node.attr("wordstylesheet"),
181
+ standardstylesheet: node.attr("standardstylesheet"),
182
+ header: node.attr("header"),
183
+ wordcoverpage: node.attr("wordcoverpage"),
184
+ wordintropage: node.attr("wordintropage"),
185
+ ulstyle: node.attr("ulstyle"),
186
+ olstyle: node.attr("olstyle"),
176
187
  )
177
188
  end
178
189
 
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module Mpfd
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -1,5 +1,6 @@
1
1
  require "isodoc"
2
2
  require_relative "metadata"
3
+ require "fileutils"
3
4
 
4
5
  module IsoDoc
5
6
  module Mpfd
@@ -8,31 +9,30 @@ module IsoDoc
8
9
  # schema encapsulation of the document for validation
9
10
  #
10
11
  class HtmlConvert < IsoDoc::HtmlConvert
11
- def rsd_html_path(file)
12
- File.join(File.dirname(__FILE__), File.join("html", file))
13
- end
14
-
15
12
  def initialize(options)
13
+ @libdir = File.dirname(__FILE__)
16
14
  super
17
- @htmlstylesheet = generate_css(rsd_html_path("htmlstyle.scss"), true, default_fonts(options))
18
- @htmlcoverpage = rsd_html_path("html_rsd_titlepage.html")
19
- @htmlintropage = rsd_html_path("html_rsd_intro.html")
20
- @scripts = rsd_html_path("scripts.html")
21
- system "cp #{rsd_html_path('logo.jpg')} logo.jpg"
22
- system "cp #{rsd_html_path('mpfa-logo-no-text@4x.png')} mpfa-logo-no-text@4x.png"
15
+ FileUtils.cp html_doc_path("logo.jpg"), "logo.jpg"
16
+ FileUtils.cp html_doc_path('mpfa-logo-no-text@4x.png'), "mpfa-logo-no-text@4x.png"
23
17
  @files_to_delete << "logo.jpg"
24
18
  @files_to_delete << "mpfa-logo-no-text@4x.png"
25
19
  end
26
20
 
27
21
  def default_fonts(options)
28
- b = options[:bodyfont] ||
29
- (options[:script] == "Hans" ? '"SimSun",serif' :
30
- '"Titillium Web",sans-serif')
31
- h = options[:headerfont] ||
32
- (options[:script] == "Hans" ? '"SimHei",sans-serif' :
33
- '"Titillium Web",sans-serif')
34
- m = options[:monospacefont] || '"Space Mono",monospace'
35
- "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n"
22
+ {
23
+ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Titillium Web",sans-serif'),
24
+ headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Titillium Web",sans-serif'),
25
+ monospacefont: '"Space Mono",monospace'
26
+ }
27
+ end
28
+
29
+ def default_file_locations(_options)
30
+ {
31
+ htmlstylesheet: html_doc_path("htmlstyle.scss"),
32
+ htmlcoverpage: html_doc_path("html_rsd_titlepage.html"),
33
+ htmlintropage: html_doc_path("html_rsd_intro.html"),
34
+ scripts: html_doc_path("scripts.html"),
35
+ }
36
36
  end
37
37
 
38
38
  def metadata_init(lang, script, labels)
@@ -1,36 +1,36 @@
1
1
  require "isodoc"
2
2
  require_relative "metadata"
3
+ require "fileutils"
3
4
 
4
5
  module IsoDoc
5
6
  module Mpfd
6
7
  # A {Converter} implementation that generates PDF HTML output, and a
7
8
  # document schema encapsulation of the document for validation
8
9
  class PdfConvert < IsoDoc::PdfConvert
9
- def rsd_html_path(file)
10
- File.join(File.dirname(__FILE__), File.join("html", file))
11
- end
12
-
13
10
  def initialize(options)
11
+ @libdir = File.dirname(__FILE__)
14
12
  super
15
- @htmlstylesheet = generate_css(rsd_html_path("htmlstyle.scss"), true, default_fonts(options))
16
- @htmlcoverpage = rsd_html_path("html_rsd_titlepage.html")
17
- @htmlintropage = rsd_html_path("html_rsd_intro.html")
18
- @scripts = rsd_html_path("scripts.html")
19
- system "cp #{rsd_html_path('logo.jpg')} logo.jpg"
20
- system "cp #{rsd_html_path('mpfa-logo-no-text@4x.png')} mpfa-logo-no-text@4x.png"
13
+ FileUtils.cp html_doc_path("logo.jpg"), "logo.jpg"
14
+ FileUtils.cp html_doc_path('mpfa-logo-no-text@4x.png'), "mpfa-logo-no-text@4x.png"
21
15
  @files_to_delete << "logo.jpg"
22
16
  @files_to_delete << "mpfa-logo-no-text@4x.png"
23
17
  end
24
18
 
25
19
  def default_fonts(options)
26
- b = options[:bodyfont] ||
27
- (options[:script] == "Hans" ? '"SimSun",serif' :
28
- '"Overpass",sans-serif')
29
- h = options[:headerfont] ||
30
- (options[:script] == "Hans" ? '"SimHei",sans-serif' :
31
- '"Overpass",sans-serif')
32
- m = options[:monospacefont] || '"Space Mono",monospace'
33
- "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n"
20
+ {
21
+ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Titillium Web",sans-serif'),
22
+ headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Titillium Web",sans-serif'),
23
+ monospacefont: '"Space Mono",monospace'
24
+ }
25
+ end
26
+
27
+ def default_file_locations(_options)
28
+ {
29
+ htmlstylesheet: html_doc_path("htmlstyle.scss"),
30
+ htmlcoverpage: html_doc_path("html_rsd_titlepage.html"),
31
+ htmlintropage: html_doc_path("html_rsd_intro.html"),
32
+ scripts: html_doc_path("scripts.html"),
33
+ }
34
34
  end
35
35
 
36
36
  def metadata_init(lang, script, labels)
@@ -179,84 +179,84 @@ module IsoDoc
179
179
  @clause_lbl = y["clause"]
180
180
  end
181
181
 
182
- def terms_defs_title(f)
182
+ def terms_defs_title(f)
183
183
  return f&.at(ns("./title"))&.content
184
184
  end
185
185
 
186
- TERM_CLAUSE = "//preface/terms | "\
187
- "//preface/clause[descendant::terms]".freeze
186
+ TERM_CLAUSE = "//preface/terms | "\
187
+ "//preface/clause[descendant::terms]".freeze
188
+
189
+
190
+ def terms_defs(isoxml, out, num)
191
+ f = isoxml.at(ns(TERM_CLAUSE)) or return num
192
+ out.div **attr_code(id: f["id"]) do |div|
193
+ clause_name(nil, terms_defs_title(f), div, nil)
194
+ f.elements.each do |e|
195
+ parse(e, div) unless %w{title source}.include? e.name
196
+ end
197
+ end
198
+ num
199
+ end
200
+
201
+ FRONT_CLAUSE = "//*[parent::preface]".freeze
202
+ #FRONT_CLAUSE = "//clause[parent::preface] | //terms[parent::preface]".freeze
203
+
204
+ def preface(isoxml, out)
205
+ isoxml.xpath(ns(FRONT_CLAUSE)).each do |c|
206
+ if c.name == "terms" then terms_defs isoxml, out, 0
207
+ else
208
+ out.div **attr_code(id: c["id"]) do |s|
209
+ clause_name(get_anchors[c['id']][:label],
210
+ c&.at(ns("./title"))&.content, s, nil)
211
+ c.elements.reject { |c1| c1.name == "title" }.each do |c1|
212
+ parse(c1, s)
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+
219
+ def make_body3(body, docxml)
220
+ body.div **{ class: "main-section" } do |div3|
221
+ preface docxml, div3
222
+ middle docxml, div3
223
+ footnotes div3
224
+ comments div3
225
+ end
226
+ end
188
227
 
228
+ def middle(isoxml, out)
229
+ middle_title(out)
230
+ clause isoxml, out
231
+ annex isoxml, out
232
+ bibliography isoxml, out
233
+ end
189
234
 
190
- def terms_defs(isoxml, out, num)
191
- f = isoxml.at(ns(TERM_CLAUSE)) or return num
192
- out.div **attr_code(id: f["id"]) do |div|
193
- clause_name(nil, terms_defs_title(f), div, nil)
194
- f.elements.each do |e|
195
- parse(e, div) unless %w{title source}.include? e.name
235
+ def termdef_parse(node, out)
236
+ set_termdomain("")
237
+ node.children.each { |n| parse(n, out) }
238
+ end
239
+
240
+ def initial_anchor_names(d)
241
+ #preface_names(d.at(ns("//foreword")))
242
+ #preface_names(d.at(ns("//introduction")))
243
+ #preface_names(d.at(ns("//preface/terms | "\
244
+ #"//preface/clause[descendant::terms]")))
245
+ d.xpath(ns(FRONT_CLAUSE)).each do |c|
246
+ preface_names(c)
247
+ sequential_asset_names(c)
196
248
  end
249
+ middle_section_asset_names(d)
250
+ clause_names(d, 0)
251
+ termnote_anchor_names(d)
252
+ termexample_anchor_names(d)
253
+ end
254
+
255
+ def annex_name_lbl(clause, num)
256
+ l10n("<b>#{@annex_lbl} #{num}</b>")
197
257
  end
198
- num
199
- end
200
-
201
- FRONT_CLAUSE = "//*[parent::preface]".freeze
202
- #FRONT_CLAUSE = "//clause[parent::preface] | //terms[parent::preface]".freeze
203
-
204
- def preface(isoxml, out)
205
- isoxml.xpath(ns(FRONT_CLAUSE)).each do |c|
206
- if c.name == "terms" then terms_defs isoxml, out, 0
207
- else
208
- out.div **attr_code(id: c["id"]) do |s|
209
- clause_name(get_anchors[c['id']][:label],
210
- c&.at(ns("./title"))&.content, s, nil)
211
- c.elements.reject { |c1| c1.name == "title" }.each do |c1|
212
- parse(c1, s)
213
- end
214
- end
215
- end
216
- end
217
- end
218
-
219
- def make_body3(body, docxml)
220
- body.div **{ class: "main-section" } do |div3|
221
- preface docxml, div3
222
- middle docxml, div3
223
- footnotes div3
224
- comments div3
225
- end
226
- end
227
-
228
- def middle(isoxml, out)
229
- middle_title(out)
230
- clause isoxml, out
231
- annex isoxml, out
232
- bibliography isoxml, out
233
- end
234
-
235
- def termdef_parse(node, out)
236
- set_termdomain("")
237
- node.children.each { |n| parse(n, out) }
238
- end
239
-
240
- def initial_anchor_names(d)
241
- #preface_names(d.at(ns("//foreword")))
242
- #preface_names(d.at(ns("//introduction")))
243
- #preface_names(d.at(ns("//preface/terms | "\
244
- #"//preface/clause[descendant::terms]")))
245
- d.xpath(ns(FRONT_CLAUSE)).each do |c|
246
- preface_names(c)
247
- sequential_asset_names(c)
248
- end
249
- middle_section_asset_names(d)
250
- clause_names(d, 0)
251
- termnote_anchor_names(d)
252
- termexample_anchor_names(d)
253
- end
254
-
255
- def annex_name_lbl(clause, num)
256
- l10n("<b>#{@annex_lbl} #{num}</b>")
257
- end
258
-
259
- def clause_names(docxml, sect_num)
258
+
259
+ def clause_names(docxml, sect_num)
260
260
  q = "//clause[parent::sections]"
261
261
  @topnum = nil
262
262
  lvl = 0
@@ -1,40 +1,47 @@
1
1
  require "isodoc"
2
2
  require_relative "metadata"
3
+ require "fileutils"
3
4
 
4
5
  module IsoDoc
5
6
  module Mpfd
6
7
  # A {Converter} implementation that generates Word output, and a document
7
8
  # schema encapsulation of the document for validation
8
-
9
9
  class WordConvert < IsoDoc::WordConvert
10
10
  def rsd_html_path(file)
11
11
  File.join(File.dirname(__FILE__), File.join("html", file))
12
12
  end
13
13
 
14
14
  def initialize(options)
15
+ @libdir = File.dirname(__FILE__)
15
16
  super
16
- @wordstylesheet = generate_css(rsd_html_path("wordstyle.scss"), false, default_fonts(options))
17
- @standardstylesheet = generate_css(rsd_html_path("rsd.scss"), false, default_fonts(options))
18
- @header = rsd_html_path("header.html")
19
- @wordcoverpage = rsd_html_path("word_rsd_titlepage.html")
20
- @wordintropage = rsd_html_path("word_rsd_intro.html")
21
- @ulstyle = "l3"
22
- @olstyle = "l2"
23
- system "cp #{rsd_html_path('logo.jpg')} logo.jpg"
24
- system "cp #{rsd_html_path('mpfa-logo-no-text@4x.png')} mpfa-logo-no-text@4x.png"
17
+ FileUtils.cp html_doc_path("logo.jpg"), "logo.jpg"
18
+ FileUtils.cp html_doc_path('mpfa-logo-no-text@4x.png'), "mpfa-logo-no-text@4x.png"
25
19
  @files_to_delete << "logo.jpg"
26
20
  @files_to_delete << "mpfa-logo-no-text@4x.png"
27
21
  end
28
22
 
29
23
  def default_fonts(options)
30
- b = options[:bodyfont] ||
31
- (options[:script] == "Hans" ? '"SimSun",serif' :
32
- '"Arial",sans-serif')
33
- h = options[:headerfont] ||
34
- (options[:script] == "Hans" ? '"SimHei",sans-serif' :
35
- '"Arial",sans-serif')
36
- m = options[:monospacefont] || '"Courier New",monospace'
37
- "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n"
24
+ {
25
+ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Arial",sans-serif'),
26
+ headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Arial",sans-serif'),
27
+ monospacefont: '"Courier New",monospace'
28
+ }
29
+ end
30
+
31
+ def default_file_locations(options)
32
+ {
33
+ htmlstylesheet: html_doc_path("htmlstyle.scss"),
34
+ htmlcoverpage: html_doc_path("html_rsd_titlepage.html"),
35
+ htmlintropage: html_doc_path("html_rsd_intro.html"),
36
+ scripts: html_doc_path("scripts.html"),
37
+ wordstylesheet: html_doc_path("wordstyle.scss"),
38
+ standardstylesheet: html_doc_path("rsd.scss"),
39
+ header: html_doc_path("header.html"),
40
+ wordcoverpage: html_doc_path("word_rsd_titlepage.html"),
41
+ wordintropage: html_doc_path("word_rsd_intro.html"),
42
+ ulstyle: "l3",
43
+ olstyle: "l2",
44
+ }
38
45
  end
39
46
 
40
47
  def metadata_init(lang, script, labels)
@@ -233,11 +240,11 @@ module IsoDoc
233
240
  node.children.each { |n| parse(n, out) }
234
241
  end
235
242
 
236
- def annex_name_lbl(clause, num)
237
- l10n("<b>#{@annex_lbl} #{num}</b>")
238
- end
243
+ def annex_name_lbl(clause, num)
244
+ l10n("<b>#{@annex_lbl} #{num}</b>")
245
+ end
239
246
 
240
- def clause_names(docxml, sect_num)
247
+ def clause_names(docxml, sect_num)
241
248
  q = "//clause[parent::sections]"
242
249
  @topnum = nil
243
250
  lvl = 0
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "htmlentities", "~> 4.3.4"
30
30
  spec.add_dependency "nokogiri"
31
31
  spec.add_dependency "asciidoctor-iso", "~> 0.10.1"
32
- spec.add_dependency "isodoc", ">= 0.8.4"
32
+ spec.add_dependency "isodoc", "~> 0.8.8"
33
33
  spec.add_dependency "twitter_cldr"
34
34
 
35
35
  spec.add_development_dependency "bundler", "~> 1.15"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-mpfd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-10 00:00:00.000000000 Z
11
+ date: 2018-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: isodoc
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.8.4
75
+ version: 0.8.8
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.8.4
82
+ version: 0.8.8
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: twitter_cldr
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -319,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
319
  version: '0'
320
320
  requirements: []
321
321
  rubyforge_project:
322
- rubygems_version: 2.7.7
322
+ rubygems_version: 2.7.6
323
323
  signing_key:
324
324
  specification_version: 4
325
325
  summary: metanorma-mpfd lets you write MPF documents in AsciiDoc.