metanorma-rsd 1.3.8 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -86,7 +86,7 @@ p.SourceTitle
86
86
  mso-fareast-font-family:$bodyfont;
87
87
  mso-bidi-font-family:$bodyfont;
88
88
  mso-ansi-language:EN-GB;}
89
- p.AdmonitionTitle
89
+ p.AdmonitionTitle, p.RecommendationTitle
90
90
  {mso-style-unhide:no;
91
91
  mso-style-qformat:yes;
92
92
  mso-style-parent:"";
@@ -250,13 +250,36 @@ p.IntroTitle, li.IntroTitle, div.IntroTitle
250
250
  tab-stops:20.15pt;
251
251
  font-size:14.0pt;
252
252
  mso-bidi-font-size:11.0pt;
253
- page-break-before:always;
254
253
  font-family:$headerfont;
255
254
  mso-fareast-font-family:$headerfont;
256
255
  mso-bidi-font-family:$headerfont;
257
256
  mso-ansi-language:EN-GB;
258
257
  font-weight:bold;
258
+ page-break-before:always;
259
259
  mso-bidi-font-weight:normal;}
260
+ p.TitlePageSubhead, li.TitlePageSubhead, div.TitlePageSubhead {
261
+ mso-style-noshow:yes;
262
+ mso-style-unhide:no;
263
+ mso-style-parent:"Foreword Title";
264
+ margin-top:0cm;
265
+ margin-right:0cm;
266
+ margin-bottom:15.5pt;
267
+ margin-left:0cm;
268
+ text-align:center;
269
+ line-height:15.5pt;
270
+ mso-pagination:widow-orphan;
271
+ page-break-after:avoid;
272
+ mso-hyphenate:none;
273
+ tab-stops:20.15pt;
274
+ font-size:14.0pt;
275
+ mso-bidi-font-size:11.0pt;
276
+ font-family:$headerfont;
277
+ mso-fareast-font-family:$headerfont;
278
+ mso-bidi-font-family:$headerfont;
279
+ mso-ansi-language:EN-GB;
280
+ font-weight:bold;
281
+ mso-bidi-font-weight:normal;
282
+ }
260
283
  p.Terms, li.Terms, div.Terms
261
284
  {mso-style-name:"Term\(s\)";
262
285
  mso-style-priority:8;
@@ -555,6 +578,26 @@ div.WordSection1
555
578
  mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef2;
556
579
  mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f2;
557
580
  mso-paper-source:0;}
581
+ @page WordSection2L
582
+ {size:841.9pt 595.3pt;
583
+ margin:39.7pt 53.85pt 1.0cm 53.85pt;
584
+ mso-header-margin:50pt;
585
+ mso-footer-margin:50pt;
586
+ mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2l;
587
+ mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2l;
588
+ mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef2l;
589
+ mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f2l;
590
+ mso-paper-source:0;}
591
+ @page WordSection2P
592
+ {size:595.3pt 841.9pt;
593
+ margin:39.7pt 53.85pt 1.0cm 53.85pt;
594
+ mso-header-margin:50pt;
595
+ mso-footer-margin:50pt;
596
+ mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
597
+ mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
598
+ mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef2;
599
+ mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f2;
600
+ mso-paper-source:0;}
558
601
  div.WordSection2
559
602
  {page:WordSection2;}
560
603
  @page WordSection3
@@ -568,6 +611,26 @@ div.WordSection2
568
611
  mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef3;
569
612
  mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f3;
570
613
  mso-paper-source:0;}
614
+ @page WordSection3L
615
+ {size:841.9pt 595.3pt;
616
+ margin:39.7pt 53.85pt 1.0cm 53.85pt;
617
+ mso-header-margin:50pt;
618
+ mso-footer-margin:50pt;
619
+ mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2l;
620
+ mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2l;
621
+ mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef3l;
622
+ mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f3l;
623
+ mso-paper-source:0;}
624
+ @page WordSection3P
625
+ {size:595.3pt 841.9pt;
626
+ margin:39.7pt 53.85pt 1.0cm 53.85pt;
627
+ mso-header-margin:50pt;
628
+ mso-footer-margin:50pt;
629
+ mso-even-header:url("file:///C:/Doc/FILENAME_files/header.html") eh2;
630
+ mso-header:url("file:///C:/Doc/FILENAME_files/header.html") h2;
631
+ mso-even-footer:url("file:///C:/Doc/FILENAME_files/header.html") ef3;
632
+ mso-footer:url("file:///C:/Doc/FILENAME_files/header.html") f3;
633
+ mso-paper-source:0;}
571
634
  div.WordSection3
572
635
  {page:WordSection3;}
573
636
  table.MsoISOTable
@@ -1,15 +1,6 @@
1
1
  <div class="zzCopyright">
2
- <p class="zzCopyright" align="left">
3
- <span lang="EN-GB" style='color:windowtext'>© {{ agency }} {{ docyear }} Ribose Group Inc.<o:p></o:p></span>
4
- <span lang="EN-GB" style='color:windowtext'>Suite 1, 8/F, New Henry House<o:p></o:p></span>
5
- <span lang="EN-GB" style='color:windowtext'>10 Ice House Street<o:p></o:p></span>
6
- <span lang="EN-GB" style='color:windowtext'>Central<o:p></o:p></span>
7
- <span lang="EN-GB" style='color:windowtext'>Hong Kong<o:p></o:p></span>
8
- <br />
9
- <span lang="EN-GB" style='color:windowtext'><a href="mailto:copyright@ribose.com">copyright@ribose.com</a><o:p></o:p></span><br />
10
- <span lang="EN-GB" style='color:windowtext'><a href="https://www.ribose.com">www.ribose.com</a><o:p></o:p></span>
11
- </p>
12
-
2
+ <div id="boilerplate-copyright-destination" style='color:windowtext'/>
3
+ <div id="boilerplate-feedback-destination" style='color:windowtext'/>
13
4
  </div>
14
5
 
15
6
  <p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">Contents</span></p>
@@ -50,35 +50,14 @@ mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;
50
50
  margin-left:4.25pt;margin-right:4.25pt'>
51
51
 
52
52
  {% if unpublished %}
53
- <p class="MsoNormal" align="center" style='margin-bottom:6.0pt;text-align:center;
54
- border:none;mso-border-alt:solid windowtext .5pt;padding:0cm;mso-padding-alt:
55
- 1.0pt 4.0pt 1.0pt 4.0pt'><b style='mso-bidi-font-weight:normal'><span
56
- lang="EN-GB" style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>Warning for drafts<o:p></o:p></span></b></p>
57
-
58
- <p class="MsoNormal" style='margin-bottom:6.0pt;border:none;mso-border-alt:solid windowtext .5pt;
59
- padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span lang="EN-GB"
60
- style='font-size:10.0pt;mso-bidi-font-size:11.0pt;mso-bidi-font-weight:bold'>This document
61
- is not a Ribose Standard. It is distributed for review and
62
- comment, and is subject to change without notice and may not be referred to as
63
- a Standard. Recipients of this draft are invited to submit, with their
64
- comments, notification of any relevant patent rights of which they are aware
65
- and to provide supporting documentation.<o:p></o:p></span></p>
66
-
67
- <p class="MsoNormal" style='border:none;mso-border-alt:solid windowtext .5pt;
68
- padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span lang="EN-GB"
69
- style='font-size:10.0pt;mso-bidi-font-size:11.0pt;mso-bidi-font-weight:bold'>Recipients
70
- of this draft are invited to submit, with their comments, notification of any
71
- relevant patent rights of which they are aware and to provide supporting
72
- documentation.</span><span lang="EN-GB" style='font-size:10.0pt;mso-bidi-font-size:
73
- 11.0pt'><o:p></o:p></span></p>
74
-
53
+ <div id="boilerplate-license-destination"/>
75
54
  {% endif %}
76
55
 
77
56
  </div>
78
57
 
79
- <p class="MsoNormal" align="center" style='text-align:center'><span lang="EN-GB"
80
- style='mso-no-proof:yes'>Ribose Group Inc.&nbsp;</span><span lang="EN-GB"><span
81
- style='mso-no-proof:yes'>{{ docyear }}</span></p>
58
+ <div align="center" style='text-align:center'>
59
+ <div id=boilerplate-copyright-destination"/>
60
+ </div>
82
61
 
83
62
 
84
63
 
@@ -158,6 +158,17 @@ p.MsoHeader, li.MsoHeader, div.MsoHeader
158
158
  mso-fareast-font-family:"Times New Roman";
159
159
  mso-ansi-language:EN-US;
160
160
  mso-fareast-language:EN-US;}
161
+ p.MsoHeaderLandscape, li.MsoHeaderLandscape, div.MsoHeaderLandscape
162
+ {mso-style-unhide:no;
163
+ margin:0cm;
164
+ margin-bottom:.0001pt;
165
+ mso-pagination:widow-orphan;
166
+ tab-stops:center 367.0pt right 734.0pt;
167
+ font-size:10.5pt;
168
+ font-family:$bodyfont;
169
+ mso-fareast-font-family:"Times New Roman";
170
+ mso-ansi-language:EN-US;
171
+ mso-fareast-language:EN-US;}
161
172
  p.MsoFooter, li.MsoFooter, div.MsoFooter
162
173
  {mso-style-unhide:no;
163
174
  margin:0cm;
@@ -169,6 +180,17 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter
169
180
  mso-fareast-font-family:"Times New Roman";
170
181
  mso-ansi-language:EN-US;
171
182
  mso-fareast-language:EN-US;}
183
+ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape
184
+ {mso-style-unhide:no;
185
+ margin:0cm;
186
+ margin-bottom:.0001pt;
187
+ mso-pagination:widow-orphan;
188
+ tab-stops:right 734.0pt;
189
+ font-size:10.5pt;
190
+ font-family:$bodyfont;
191
+ mso-fareast-font-family:"Times New Roman";
192
+ mso-ansi-language:EN-US;
193
+ mso-fareast-language:EN-US;}
172
194
  span.MsoCommentReference
173
195
  {mso-style-noshow:yes;
174
196
  mso-style-unhide:no;
@@ -1,52 +1,25 @@
1
- require_relative "base_convert"
2
1
  require "isodoc"
2
+ require "isodoc/acme/html_convert"
3
+ require "isodoc/rsd/metadata"
3
4
 
4
5
  module IsoDoc
5
6
  module Rsd
6
-
7
7
  # A {Converter} implementation that generates HTML output, and a document
8
8
  # schema encapsulation of the document for validation
9
9
  #
10
- class HtmlConvert < IsoDoc::HtmlConvert
11
- def initialize(options)
12
- @libdir = File.dirname(__FILE__)
13
- super
14
- end
15
-
16
- def default_fonts(options)
17
- {
18
- bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Overpass",sans-serif'),
19
- headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Overpass",sans-serif'),
20
- monospacefont: '"Space Mono",monospace'
21
- }
10
+ class HtmlConvert < IsoDoc::Acme::HtmlConvert
11
+ def configuration
12
+ Metanorma::Rsd.configuration
22
13
  end
23
14
 
24
- def default_file_locations(_options)
25
- {
26
- htmlstylesheet: html_doc_path("htmlstyle.scss"),
27
- htmlcoverpage: html_doc_path("html_rsd_titlepage.html"),
28
- htmlintropage: html_doc_path("html_rsd_intro.html"),
29
- scripts: html_doc_path("scripts.html"),
30
- }
15
+ def metadata_init(lang, script, labels)
16
+ @meta = Metadata.new(lang, script, labels)
31
17
  end
32
18
 
33
- def googlefonts
34
- <<~HEAD.freeze
35
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet">
36
- <link href="https://fonts.googleapis.com/css?family=Overpass:300,300i,600,900" rel="stylesheet">
37
- HEAD
38
- end
39
-
40
- def make_body(xml, docxml)
41
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
42
- xml.body **body_attr do |body|
43
- make_body1(body, docxml)
44
- make_body2(body, docxml)
45
- make_body3(body, docxml)
46
- end
19
+ def info(isoxml, out)
20
+ @meta.security isoxml, out
21
+ super
47
22
  end
48
-
49
- include BaseConvert
50
23
  end
51
24
  end
52
25
  end
@@ -3,45 +3,14 @@ require "isodoc"
3
3
  module IsoDoc
4
4
  module Rsd
5
5
 
6
- class Metadata < IsoDoc::Metadata
7
- def initialize(lang, script, labels)
8
- super
9
- here = File.dirname(__FILE__)
10
- set(:logo_svg,
11
- File.expand_path(File.join(here, "html", "logo.svg")))
12
- end
13
-
14
- def title(isoxml, _out)
15
- main = isoxml&.at(ns("//bibdata/title[@language='en']"))&.text
16
- set(:doctitle, main)
17
- end
18
-
19
- def subtitle(_isoxml, _out)
20
- nil
6
+ class Metadata < IsoDoc::Acme::Metadata
7
+ def configuration
8
+ Metanorma::Rsd.configuration
21
9
  end
22
10
 
23
- def author(isoxml, _out)
24
- tc = isoxml.at(ns("//bibdata/ext/editorialgroup/committee"))
25
- set(:tc, tc.text) if tc
26
- end
27
-
28
- def docid(isoxml, _out)
29
- docnumber = isoxml.at(ns("//bibdata/docidentifier"))
30
- set(:docnumber, docnumber&.text)
31
- end
32
-
33
- def status_abbr(status)
34
- case status
35
- when "working-draft" then "wd"
36
- when "committee-draft" then "cd"
37
- when "draft-standard" then "d"
38
- else
39
- ""
40
- end
41
- end
42
-
43
- def unpublished(status)
44
- !%w(published withdrawn).include? status.downcase
11
+ def security(isoxml, _out)
12
+ security = isoxml.at(ns("//bibdata/ext/security")) || return
13
+ set(:security, security.text)
45
14
  end
46
15
 
47
16
  def version(isoxml, _out)
@@ -70,11 +39,6 @@ module IsoDoc
70
39
  return isodate unless m && m[:yr] && m[:mo]
71
40
  return "#{MONTHS[m[:mo].to_sym]} #{m[:yr]}"
72
41
  end
73
-
74
- def security(isoxml, _out)
75
- security = isoxml.at(ns("//bibdata/ext/security")) || return
76
- set(:security, security.text)
77
- end
78
42
  end
79
43
  end
80
44
  end
@@ -1,54 +1,24 @@
1
- require_relative "base_convert"
2
1
  require "isodoc"
2
+ require "isodoc/acme/pdf_convert"
3
+ require "isodoc/rsd/metadata"
3
4
 
4
5
  module IsoDoc
5
6
  module Rsd
6
7
  # A {Converter} implementation that generates PDF HTML output, and a
7
8
  # document schema encapsulation of the document for validation
8
- class PdfConvert < IsoDoc::PdfConvert
9
- def initialize(options)
10
- @libdir = File.dirname(__FILE__)
11
- super
12
- end
13
-
14
- def default_fonts(options)
15
- {
16
- bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Overpass",sans-serif'),
17
- headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Overpass",sans-serif'),
18
- monospacefont: '"Space Mono",monospace'
19
- }
20
- end
21
-
22
- def default_file_locations(options)
23
- {
24
- htmlstylesheet: html_doc_path("htmlstyle.scss"),
25
- htmlcoverpage: html_doc_path("html_rsd_titlepage.html"),
26
- htmlintropage: html_doc_path("html_rsd_intro.html"),
27
- scripts_pdf: html_doc_path("scripts.pdf.html"),
28
- }
9
+ class PdfConvert < IsoDoc::Acme::PdfConvert
10
+ def configuration
11
+ Metanorma::Rsd.configuration
29
12
  end
30
13
 
31
- def googlefonts()
32
- <<~HEAD.freeze
33
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet">
34
- <link href="https://fonts.googleapis.com/css?family=Overpass:300,300i,600,900" rel="stylesheet">
35
- HEAD
14
+ def metadata_init(lang, script, labels)
15
+ @meta = Metadata.new(lang, script, labels)
36
16
  end
37
17
 
38
- def make_body(xml, docxml)
39
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
40
- xml.body **body_attr do |body|
41
- make_body1(body, docxml)
42
- make_body2(body, docxml)
43
- make_body3(body, docxml)
44
- end
45
- end
46
-
47
- def html_toc(docxml)
48
- docxml
18
+ def info(isoxml, out)
19
+ @meta.security isoxml, out
20
+ super
49
21
  end
50
-
51
- include BaseConvert
52
22
  end
53
23
  end
54
24
  end
@@ -1,48 +1,24 @@
1
- require_relative "base_convert"
2
1
  require "isodoc"
2
+ require "isodoc/acme/word_convert"
3
+ require "isodoc/rsd/metadata"
3
4
 
4
5
  module IsoDoc
5
6
  module Rsd
6
7
  # A {Converter} implementation that generates Word output, and a document
7
8
  # schema encapsulation of the document for validation
8
-
9
- class WordConvert < IsoDoc::WordConvert
10
- def initialize(options)
11
- @libdir = File.dirname(__FILE__)
12
- super
13
- end
14
-
15
- def default_fonts(options)
16
- {
17
- bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Arial",sans-serif'),
18
- headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Arial",sans-serif'),
19
- monospacefont: '"Courier New",monospace'
20
- }
9
+ class WordConvert < IsoDoc::Acme::WordConvert
10
+ def configuration
11
+ Metanorma::Rsd.configuration
21
12
  end
22
13
 
23
- def default_file_locations(options)
24
- {
25
- wordstylesheet: html_doc_path("wordstyle.scss"),
26
- standardstylesheet: html_doc_path("rsd.scss"),
27
- header: html_doc_path("header.html"),
28
- wordcoverpage: html_doc_path("word_rsd_titlepage.html"),
29
- wordintropage: html_doc_path("word_rsd_intro.html"),
30
- ulstyle: "l3",
31
- olstyle: "l2",
32
- }
14
+ def metadata_init(lang, script, labels)
15
+ @meta = Metadata.new(lang, script, labels)
33
16
  end
34
17
 
35
-
36
- def make_body(xml, docxml)
37
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72" }
38
- xml.body **body_attr do |body|
39
- make_body1(body, docxml)
40
- make_body2(body, docxml)
41
- make_body3(body, docxml)
42
- end
18
+ def info(isoxml, out)
19
+ @meta.security isoxml, out
20
+ super
43
21
  end
44
-
45
- include BaseConvert
46
22
  end
47
23
  end
48
24
  end
@@ -1,7 +1,32 @@
1
- require_relative "./rsd/processor"
1
+ require "metanorma"
2
+ require "metanorma-acme"
3
+ require "metanorma/rsd/processor"
2
4
 
3
5
  module Metanorma
4
6
  module Rsd
5
7
 
8
+ class Configuration < Metanorma::Acme::Configuration
9
+ def initialize(*args)
10
+ super
11
+ end
12
+ end
13
+
14
+ class << self
15
+ extend Forwardable
16
+
17
+ attr_accessor :configuration
18
+
19
+ Configuration::CONFIG_ATTRS.each do |attr_name|
20
+ def_delegator :@configuration, attr_name
21
+ end
22
+
23
+ def configure
24
+ self.configuration ||= Configuration.new
25
+ yield(configuration)
26
+ end
27
+ end
28
+
29
+ configure {}
6
30
  end
7
31
  end
32
+ Metanorma::Registry.instance.register(Metanorma::Rsd::Processor)