asciidoctor-m3d 0.3.1 → 0.3.2

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: 8395d9fb94512b2244e4b81296608efca78620ea6853e3f6ed729bce1d5b8039
4
- data.tar.gz: 4183cd867f98a89fe5aaa5ff076fa518f872729496b444e7765e8c40242685e0
3
+ metadata.gz: 83d10db87814ca2f4540bdad055320326c525b4a6676edf445d352d314aadac9
4
+ data.tar.gz: 3cd66f21196357af8127fc9ebe3e4b9fec82e3d6f79b92ad46e4bf01afec6d27
5
5
  SHA512:
6
- metadata.gz: 9a77b75a2b63ad4bc1ed5b2e02555e73a1960b7b53b10b0c2011fd4997f800ff0b6903888aa530cb55fbded1dfa6f69e5d1d870426ad65ec92eeb6ffe976606b
7
- data.tar.gz: 02f2d8e9c7ba16a7f9a984147b5462b1dd9dd9fb5225f9b7c73bba7e8af042bc262bf922f0cefb3115431941318b3b3b5558d850e118935d402793f01d857a9a
6
+ metadata.gz: 50d85745f85fa0fdf306280170deefc472f67f20796a7296264f396d4e1ae205d24e00f8009f437d383d7b569ac192dcf5f9f9b1f83505fb12a2d34c583310b3
7
+ data.tar.gz: 4883cb64d20a1bb8f80ebfacc44baffc50011086e9ed3cfc961c4fad9d9533b2ac5404d764df8a0a0d1f0cdd0cff58141ba7faa5be7f2e2e0529c3736ca9e8f5
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: https://github.com/riboseinc/asciidoctor-iso
3
- revision: 1fca67f1a4e7a67461ea3999918abc10bca3ca2c
3
+ revision: e06e2d75dbe3a7969c2973582155ec52f3afc4b2
4
4
  specs:
5
5
  asciidoctor-iso (0.9.0)
6
6
  asciidoctor (~> 1.5.7)
@@ -44,7 +44,7 @@ GIT
44
44
  PATH
45
45
  remote: .
46
46
  specs:
47
- asciidoctor-m3d (0.3.0)
47
+ asciidoctor-m3d (0.3.1)
48
48
  asciidoctor (~> 1.5.7)
49
49
  asciidoctor-iso (>= 0.9.0)
50
50
  asciimath
@@ -65,9 +65,50 @@ GEM
65
65
  httpclient (~> 2.8, >= 2.8.3)
66
66
  json (>= 1.5.1)
67
67
  asciidoctor (1.5.7.1)
68
+ asciidoctor-csand (0.3.0)
69
+ asciidoctor (~> 1.5.7)
70
+ asciidoctor-iso (>= 0.9.0)
71
+ asciimath
72
+ htmlentities (~> 4.3.4)
73
+ image_size
74
+ isodoc (>= 0.8.0)
75
+ mime-types
76
+ nokogiri
77
+ ruby-jing
78
+ ruby-xslt
79
+ thread_safe
80
+ uuidtools
81
+ asciidoctor-csd (0.4.0)
82
+ asciidoctor-iso (>= 0.9.0)
83
+ isodoc (>= 0.8.0)
84
+ asciidoctor-gb (0.3.0)
85
+ asciidoctor-iso (>= 0.9.0)
86
+ isodoc (>= 0.8.0)
87
+ twitter_cldr
88
+ asciidoctor-rfc (0.9.0)
89
+ asciidoctor (~> 1.5.7)
90
+ htmlentities (~> 4.3.4)
91
+ nokogiri
92
+ ruby-jing
93
+ thread_safe
94
+ asciidoctor-rsd (0.3.1)
95
+ asciidoctor (~> 1.5.7)
96
+ asciidoctor-iso (>= 0.8.0)
97
+ asciimath
98
+ htmlentities (~> 4.3.4)
99
+ image_size
100
+ isodoc (>= 0.7.0)
101
+ mime-types
102
+ nokogiri
103
+ ruby-jing
104
+ ruby-xslt
105
+ thread_safe
106
+ uuidtools
68
107
  asciimath (1.0.4)
69
108
  ast (2.4.0)
70
109
  byebug (9.1.0)
110
+ camertron-eprun (1.1.1)
111
+ cldr-plurals-runtime-rb (1.0.1)
71
112
  coderay (1.1.2)
72
113
  diff-lcs (1.3)
73
114
  docile (1.3.1)
@@ -93,11 +134,11 @@ GEM
93
134
  htmlentities (4.3.4)
94
135
  httpclient (2.8.3)
95
136
  image_size (2.0.0)
96
- iso-bib-item (0.1.6)
137
+ iso-bib-item (0.1.8)
97
138
  duplicate
98
139
  isoics (~> 0.1.6)
99
140
  nokogiri
100
- isobib (0.1.6)
141
+ isobib (0.1.7)
101
142
  algoliasearch
102
143
  iso-bib-item (~> 0.1.2)
103
144
  isoics (0.1.6)
@@ -109,6 +150,15 @@ GEM
109
150
  rb-inotify (~> 0.9, >= 0.9.7)
110
151
  ruby_dep (~> 1.2)
111
152
  lumberjack (1.0.13)
153
+ metanorma (0.2.2)
154
+ asciidoctor-csand (>= 0.3.0)
155
+ asciidoctor-csd (>= 0.4.0)
156
+ asciidoctor-gb (>= 0.3.0)
157
+ asciidoctor-iso (>= 0.9.0)
158
+ asciidoctor-m3d (>= 0.3.1)
159
+ asciidoctor-rfc (>= 0.9.0)
160
+ asciidoctor-rsd (>= 0.3.0)
161
+ isodoc (>= 0.8.0)
112
162
  method_source (0.9.0)
113
163
  mime-types (3.1)
114
164
  mime-types-data (~> 3.2015)
@@ -174,6 +224,12 @@ GEM
174
224
  thor (0.20.0)
175
225
  thread_safe (0.3.6)
176
226
  timecop (0.9.1)
227
+ twitter_cldr (4.4.3)
228
+ camertron-eprun
229
+ cldr-plurals-runtime-rb (~> 1.0)
230
+ tzinfo
231
+ tzinfo (1.2.5)
232
+ thread_safe (~> 0.1)
177
233
  unicode-display_width (1.4.0)
178
234
  uuidtools (2.1.5)
179
235
 
@@ -190,6 +246,7 @@ DEPENDENCIES
190
246
  guard-rspec (~> 4.7)
191
247
  html2doc!
192
248
  isodoc!
249
+ metanorma
193
250
  rake (~> 12.0)
194
251
  rspec (~> 3.6)
195
252
  rubocop (~> 0.50)
@@ -28,20 +28,21 @@ expressions.
28
28
  International Standards.
29
29
  * The XML representation is processed in turn to generate the following outputs
30
30
  as end deliverable M3D standard drafts.
31
- ** Microsoft Word output (`.doc`), following the style conventions of the
32
- https://www.m3d.org/m3d-templates.html[M3D Standard Microsoft Word template].
33
- (In development)
34
- ** PDF (forthcoming)
35
- ** HTML (forthcoming)
31
+ ** HTML
32
+ ** DOC
36
33
 
37
34
  This AsciiDoc syntax for writing M3D standards is hereby named "AsciiM3D".
38
35
 
39
36
  == Usage
40
37
 
38
+ The preferred way to invoke this gem is via the `metanorma` script:
39
+
41
40
  [source,console]
42
41
  ----
43
- $ asciidoctor a.adoc # HTML output of Asciidoc file
44
- $ asciidoctor -b m3d -r 'asciidoctor-m3d' a.adoc # M3D XML output
42
+ $ metanorma --type m3d a.adoc # output HTML and DOC
43
+ $ metanorma --type m3d --extensions html a.adoc # output just HTML
44
+ $ metanorma --type m3d --extensions pdf a.adoc # output just DOC
45
+ $ metanorma --type m3d --extensions xml a.adoc # output M3D XML
45
46
  ----
46
47
 
47
48
  The gem translates the document into M3D XML format, and then
@@ -50,39 +51,27 @@ reported to console against the XML, and are intended for users to
50
51
  check that they have provided all necessary components of the
51
52
  document.
52
53
 
53
- TODO: The gem will then convert the XML to Word Document, HTML, and
54
- PDF, and output those files with the appropriate file suffixes.
55
- `lib/asciidoctor/m3d/m3d2wordhtml.rb` is work in progress, and not yet
56
- integrated into the executable.
57
-
58
- === Content Warnings
59
-
60
- The gem also realises several format checks as prescribed in ISO/IEC
61
- DIR 2, and warns the user about them in the console:
62
-
63
- * Numbers with what looks like dots instead of commas for decimal points.
64
-
65
- * Groups of numbers without spacing for every three digits. (The gem attempts
66
- to ignore M3D references.)
54
+ The gem then converts the XML into HTML and PDF.
67
55
 
68
- * No space before percent sign.
56
+ The gem can also be invoked directly within asciidoctor, though this is deprecated:
69
57
 
70
- * No bracketing of tolerance in percentage (e.g. `15 ± 7 % .`)
71
-
72
- * No recommendations, permissions or requirements (detected by keyword) in:
73
- foreword, scope, introduction, term examples and examples, notes, footnotes.
74
-
75
- * No subclauses that are the only child of a clause. (In clauses, annexes, or
76
- scopes.)
58
+ [source,console]
59
+ ----
60
+ $ asciidoctor -b m3d -r 'asciidoctor-m3d' a.adoc
61
+ ----
77
62
 
78
- * 5 levels of subclause nesting. (Never actuated, AsciiDoc only permits 4
79
- levels of subsections.)
63
+ === Installation
80
64
 
81
- * Non-M3D/IEC reference turning up as normative.
65
+ If you are using a Mac, the https://github.com/riboseinc/metanorma-macos-setup
66
+ repository has instructions on setting up your machine to run Metanorma
67
+ scripts such as this one. You need only run the following in a Terminal console:
82
68
 
83
- * Term definition starts with an article, or ends with a period.
69
+ [source,console]
70
+ ----
71
+ $ bash <(curl -s https://raw.githubusercontent.com/riboseinc/metanorma-macos-setup/master/metanorma-setup)
72
+ $ gem install asciidoctor-m3d
73
+ ----
84
74
 
85
- * Title intro or title part appears in only one of French or English.
86
75
 
87
76
  == Approach
88
77
 
@@ -97,8 +86,6 @@ standards authoring process, and is prescribed in a separate document.
97
86
  M3D XML is still under development, but it already contains all the markup
98
87
  needed to render a M3D document into HTML.
99
88
 
100
- WARNING: The current RNG model of M3D XML is out of sync with the UML.
101
-
102
89
  === Asciidoctor
103
90
 
104
91
  Asciidoctor has been selected as the authoring tool to generate the document
@@ -119,102 +106,6 @@ recognised by fixed titles such as `Normative References`). Authoring M3D
119
106
  standards in this fashion assumes that users will be populating an Asciidoc
120
107
  template, and not removing needed formatting instructions.
121
108
 
122
- === Features not visible in HTML preview
123
-
124
- The gem uses built-in Asciidoc formatting as much as possible, so that users
125
- can retain the ability to preview documents; for _Terms and Definitions_
126
- clauses, which have a good deal of explicit structure, macros have been
127
- introduced for semantic markup (admitted terms, deprecated terms, etc). The
128
- default HTML output of an Asciidoc-formatted M3D document is quite close to the
129
- intended final output, with the following exceptions. Note that the final
130
- outputs of the conversion (Microsoft Word, PDF, HTML) do not have these exceptions,
131
- and comply with the M3D Standard specifications.
132
-
133
- * _Terms and Definitions_: each term is marked up as an unnumbered subclause,
134
- the semantic markup of alternate and other terms is not rendered visually.
135
-
136
- * _Formulas_: Asciidoctor has no provision for the automated numbering of
137
- isolated block formulas ("stem"), and does not display the number assigned a
138
- block formula in its default HTML processor—although it does provide automated
139
- numbering of examples. Formula numbering is provided in the final outputs
140
- of the conversion.
141
-
142
- * _Missing elements_: The document model does not yet include Asciidoc elements
143
- that do not appear to be relevant to M3D Standards; these will be ignored in
144
- generating M3D XML. Those elements include:
145
- * sidebars (`aside`) (as distinct from warnings),
146
- * ASCII art/preformatted text (`literal`) (as distinct from sourcecode listings),
147
- * page breaks (`thematic break`).
148
-
149
- * _Markup_: Some connecting text which is used to convey markup structure is
150
- left out: in particular, `DEPRECATED` and `SOURCE` (replaced by formatting
151
- macros).
152
-
153
- * _Tables_: Table footnotes are treated like all other footnotes: they are
154
- rendered at the bottom of the document, rather than the bottom of the table,
155
- and they are not numbered separately.
156
-
157
- * _Cross-references_: Footnoted cross-references are indicated with the reference
158
- text `fn` in m3dlation, or `fn:` as a prefix to the reference text. The default
159
- HTML processor leaves these as is: if no reference text is given, only `fn`
160
- will be displayed (though it will still hyperlink to the right reference).
161
-
162
- * _References_: The convention for references is that M3D documents are cited
163
- without brackets by M3D number, and optionally year, whether they are normative
164
- or in the bibliography (e.g. `M3D 20483:2013`); while all other references are
165
- cited by bracketed number in the bibliography (e.g. `[1]`). The default HTML
166
- processor treats all references the same, and will bracket them (e.g. `[M3D
167
- 20483:2013]`). For the same reason, M3D references listed in the bibliography
168
- will be listed under an M3D reference, rather than a bracketed number.
169
-
170
- * _References_: References are rendered cited throughout, since they are
171
- automated. For that reason, if reference is to be made to both an undated and a
172
- dated version of an M3D reference, these need to be explicitly listed as
173
- separate references. (This is not done in the Rice model document, which lists
174
- M3D 6646, but under _Terms and Definitions_ cites the dated M3D 6646:2011.
175
-
176
- * _References_: M3D references that are undated but published have their date
177
- indicated under the M3D standards format in an explanatory footnote. Because of
178
- constraints introduced by Asciidoctor, that explanation is instead given in
179
- square brackets in Asciidoc format.
180
-
181
- * _Annexes_: Subheadings cannot preserve subsection numbering, while also
182
- appearing inline with their text (e.g. Rice document, Annex B.2): they appear
183
- as headings in separate lines.
184
-
185
- * _Annexes_: Cross-references to Annex subclauses are automatically prefixed
186
- with `Clause` rather than `Annex` or nothing.
187
-
188
- * _Metadata_: Document metadata such as document numbers, technical committees
189
- and title wording are not rendered in the default HTML output.
190
-
191
- * _Patent Notice_: Patent notices are treated and rendered as a subsection of
192
- the introduction, with an explicit subheading.
193
-
194
- * _Numbering_: The numbering of figures and tables is sequential in the default
195
- HTML processor: it does not include the Clause or Annex number. This,
196
- _Figure 1_, not _Figure A.1_.
197
-
198
- * _Notes_: There is no automatic note numbering by the default HTML processor.
199
-
200
- * _Review Notes_: The reviewer on the review note is not displayed.
201
-
202
- * _Keys_: Keys to formulas and figures are expected to be marked up as
203
- definition lists consistently, rather than as inline prose.
204
-
205
- * _Figures_: Simple figures are marked up as images, figures containing
206
- subfigures as examples. Numbering by the default HTML processor may be
207
- inconsistent. Subfigures are automatically numbered as independent figures.
208
-
209
- * _Markup_: The default HTML processor does not support CSS extensions such as
210
- small caps or strike through, though these can be marked up as CSS classes
211
- through custom macros in Asciidoctor: a custom CSS stylesheet will be needed to
212
- render them.
213
-
214
-
215
-
216
- TODO: May need to only encode figures as examples.
217
-
218
109
  == Document Attributes
219
110
 
220
111
  The gem relies on Asciidoctor document attributes to provide necessary
@@ -251,6 +142,8 @@ report:: report
251
142
 
252
143
  `:language:` :: The language of the document (only `en` for now) (mandatory)
253
144
 
145
+ `:url:` :: The URL that the HTML version of the document will be published to
146
+ (optional)
254
147
 
255
148
  The attribute `:draft:`, if present, includes review notes in the XML output;
256
149
  these are otherwise suppressed.
@@ -49,4 +49,5 @@ Gem::Specification.new do |spec|
49
49
  spec.add_development_dependency "rubocop", "~> 0.50"
50
50
  spec.add_development_dependency "simplecov", "~> 0.15"
51
51
  spec.add_development_dependency "timecop", "~> 0.9"
52
+ spec.add_development_dependency "metanorma"
52
53
  end
@@ -14,6 +14,25 @@ module Asciidoctor
14
14
 
15
15
  register_for "m3d"
16
16
 
17
+ def metadata(node, xml)
18
+ title node, xml
19
+ metadata_source(node, xml)
20
+ metadata_id(node, xml)
21
+ metadata_author(node, xml)
22
+ metadata_publisher(node, xml)
23
+ xml.language node.attr("language")
24
+ xml.script (node.attr("script") || "Latn")
25
+ metadata_status(node, xml)
26
+ metadata_copyright(node, xml)
27
+ metadata_committee(node, xml)
28
+ metadata_ics(node, xml)
29
+ end
30
+
31
+ def metadata_source(node, xml)
32
+ return unless node.attr("url")
33
+ xml.source node.attr("url")
34
+ end
35
+
17
36
  def metadata_author(node, xml)
18
37
  xml.contributor do |c|
19
38
  c.role **{ type: "author" }
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module M3d
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
@@ -138,7 +138,7 @@ background:#E0E0E0'><o:p>&nbsp;</o:p></span></p>
138
138
 
139
139
  <div style='mso-element:header' id=fh1>
140
140
 
141
- <p class=MsoHeader><img width="323" height="39" src="logo.png"></img>
141
+ <p class=MsoHeader><img width="323" height="39" src="logo.jpg"></img>
142
142
  <!--[if gte vml 1]><v:line id="_x0000_s2049" alt=""
143
143
  style='position:absolute;flip:y;z-index:251659264;mso-wrap-style:none;
144
144
  mso-wrap-edited:f;mso-width-percent:0;mso-height-percent:0;
@@ -16,6 +16,7 @@
16
16
  <div class="coverpage">
17
17
  <div class="wrapper-top">
18
18
 
19
+ <div class="coverpage-logo"> <img src="m3-logo.png" alt="m3 logo"/> </div>
19
20
  <div class="coverpage-doc-identity">
20
21
  <div class="doc-number">
21
22
  <span class="docnumber">{{ docnumber }}</span>
@@ -24,13 +25,19 @@
24
25
  </div>
25
26
 
26
27
  <div class="coverpage-title">
27
- <span class="title-first">{{ doctitle }}</span>
28
- <!--<span class="title-second">{{ docsubtitle }}</span>-->
28
+ <div class="titles">
29
+ <div class="title-second">{{ docsubtitle }}</div>
30
+ <div class="title-first">{{ doctitle }}</div>
31
+ </div>
29
32
  </div>
30
33
  </div>
31
34
 
32
- <div class="coverpage-logo">
33
- <span>The Calendaring and Scheduling Consortium</span>
35
+ <div class="docinfo">
36
+ Updated <span class="date">{{ revdate_monthyear }}</span>,
37
+ Version <span class="version">{{ draft }}</span> <br/>
38
+ {% if url %}
39
+ Shortened URL to this document: <a href="{{ url }}">{{ url }}</a>
40
+ {% endif %}
34
41
  </div>
35
42
 
36
43
  <div class="coverpage-tc-name">
@@ -52,7 +59,7 @@
52
59
  <span class="title">Warning for Drafts</span>
53
60
 
54
61
  <p class="content">
55
- This document is not a Ribose Standard. It is distributed for review and
62
+ This document is not an M3AAWG Standard. It is distributed for review and
56
63
  comment, and is subject to change without notice and may not be referred to as
57
64
  a Standard. Recipients of this draft are invited to submit, with their
58
65
  comments, notification of any relevant patent rights of which they are aware
@@ -63,7 +70,7 @@
63
70
 
64
71
  <div class="copyright">
65
72
  <p class="year">
66
- &copy; {{ docyear }} The Calendaring and Scheduling Consortium, Inc.
73
+ &copy; {{ docyear }} Messaging, Malware and Mobile Anti-Abuse Working Group
67
74
  </p>
68
75
 
69
76
  <p class="message">
@@ -75,15 +82,15 @@
75
82
  </p>
76
83
 
77
84
  <div class="contact-info">
78
- <p class="name">The Calendaring and Scheduling Consortium, Inc.</p>
85
+ <p class="name">Messaging, Malware and Mobile Anti-Abuse Working Group</p>
79
86
  <p class="address">
80
- 4390 Chaffin Lane<br />
81
- McKinleyville<br />
82
- California 95519<br />
87
+ 781 Beach Street, Suite 302<br />
88
+ San Francisco<br />
89
+ California 94109<br />
83
90
  United States of America<br />
84
91
  <br />
85
- <a href="mailto:copyright@ribose.com">copyright@ribose.com</a><br />
86
- <a href="open.ribose.com">open.ribose.com</a>
92
+ <!--<a href="mailto:copyright@ribose.com">copyright@ribose.com</a><br />-->
93
+ <a href="https://www.m3aawg.org">www.m3aawg.org</a>
87
94
  </p>
88
95
  </div>
89
96
  </div>
@@ -7,6 +7,14 @@
7
7
  License: none (public domain)
8
8
  */
9
9
 
10
+ /* Colors
11
+ Orange: #EE9C4F
12
+ Blue: #69C5DC
13
+ Drak Gray: #A5A8AB
14
+ Gray: #69C5DC
15
+ Light Gray: #F5F6F6
16
+ */
17
+
10
18
  html, body, div, span, applet, object, iframe,
11
19
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
12
20
  a, abbr, acronym, address, big, cite, code,
@@ -164,7 +172,7 @@ table {
164
172
  position: fixed;
165
173
  height: 100%;
166
174
  width: 30px;
167
- background-color:#1d1d1d;
175
+ background-color:#69C5DC;
168
176
  color: white!important;
169
177
  cursor: pointer;
170
178
  z-index: 100;
@@ -179,7 +187,6 @@ table {
179
187
 
180
188
  }
181
189
 
182
-
183
190
  .container {
184
191
  padding-left: 360px;
185
192
  }
@@ -203,10 +210,13 @@ table {
203
210
  padding: 0 1.5em 0 1.5em;
204
211
  overflow: visible;
205
212
  }
213
+
214
+ nav {
215
+ padding-left: 3em;
216
+ }
206
217
  }
207
218
 
208
219
 
209
-
210
220
  #toc ul {
211
221
  margin: 0;
212
222
  padding: 0;
@@ -218,7 +228,7 @@ table {
218
228
  }
219
229
 
220
230
  #toc a {
221
- color: #485094;
231
+ color: #69C5DC;
222
232
  text-decoration: none;
223
233
  display: block;
224
234
  }
@@ -240,9 +250,8 @@ table {
240
250
  }
241
251
 
242
252
  #toc .toc-active, #toc li:hover {
243
- background: #1d1d1d;
244
- box-shadow: inset -5px 0px 10px -5px #1d1d1d!important;
245
-
253
+ background: #69C5DC;
254
+ box-shadow: inset -5px 0px 10px -5px #69C5DC!important;
246
255
  }
247
256
 
248
257
  #toc li:hover a {
@@ -303,7 +312,7 @@ p.document-type, p.document-stage {
303
312
 
304
313
  p.document-type {
305
314
  font-weight: 400;
306
- height: 210px;
315
+ height: 120;
307
316
  }
308
317
 
309
318
  #governance-band p.document-type {
@@ -361,7 +370,7 @@ p.document-stage {
361
370
  }
362
371
 
363
372
  #working-draft-band {
364
- background-color: #fda706;
373
+ background-color: #F22E15;
365
374
  }
366
375
 
367
376
  #committee-draft {
@@ -388,20 +397,20 @@ p.document-stage {
388
397
  background-color: #7e0d13;
389
398
  }
390
399
 
391
- #published {
392
- border-bottom: solid 3px #0ac442;
400
+ #standard {
401
+ border-bottom: solid 3px #69C5DC;
393
402
  }
394
403
 
395
404
  #published-band {
396
- background-color: #0ac442;
405
+ background-color: #69C5DC;
397
406
  }
398
407
 
399
- #withdrawn {
400
- border-bottom: solid 3px #a0a0a0;
408
+ #obsolete {
409
+ border-bottom: solid 3px #7e0d13;
401
410
  }
402
411
 
403
- #withdrawn-band {
404
- background-color: #a0a0a0;
412
+ #obsolete-band {
413
+ background-color: #7e0d13;
405
414
  }
406
415
 
407
416
  /*
@@ -414,7 +423,7 @@ p.document-stage {
414
423
 
415
424
  h1,h2,h3,h4,h5,h6 {
416
425
  font-family: $headerfont;
417
- color: #0e1a85;
426
+ color: black;
418
427
  font-weight: 600;
419
428
  margin-top: 2em;
420
429
  margin-bottom: 0.3em;
@@ -432,15 +441,12 @@ p.document-stage {
432
441
 
433
442
  h2 {
434
443
  font-size: 1.3em;
435
- font-weight: 400;
436
444
  }
437
445
 
438
446
  h3 {
439
447
  font-size: 1.1em;
440
- font-weight: 400;
441
448
  }
442
449
 
443
- /*
444
450
  span[id^="toc"]:after {
445
451
  float: left;
446
452
  padding-right: 4px;
@@ -451,10 +457,9 @@ p.document-stage {
451
457
  color: #cfcfcf;
452
458
  content: "\f0c1";
453
459
  }
454
- */
455
460
 
456
461
  .TermNum, .Terms, .AltTerms {
457
- color: #485094;
462
+ color: black;
458
463
  font-weight: 400;
459
464
  }
460
465
 
@@ -471,17 +476,16 @@ p.document-stage {
471
476
  margin: 0;
472
477
  }
473
478
 
474
- /*
475
479
  p.AltTerms {
476
480
  font-style: italic;
477
481
  margin: 0;
478
482
  }
479
- */
480
483
 
484
+ /*
481
485
  span.obligation {
482
486
  font-weight: 400;
483
487
  }
484
-
488
+ */
485
489
 
486
490
  /*
487
491
  3.2 Links
@@ -489,27 +493,27 @@ span.obligation {
489
493
 
490
494
  a, a:visited{
491
495
  text-decoration: none;
492
- color: #485094;
496
+ color: #69C5DC;
493
497
  }
494
498
 
495
499
  a:hover {
496
500
  color: white;
497
- background: #1d1d1d;
498
- box-shadow: 3px 0 0 #1d1d1d, -3px 0 0 #1d1d1d;
501
+ background: #69C5DC;
502
+ box-shadow: 3px 0 0 #69C5DC, -3px 0 0 #69C5DC;
499
503
  /* padding: 2px 0 2px 0; */
500
504
  }
501
505
 
502
506
  ::selection {
503
- background: #1d1d1d; /* WebKit/Blink Browsers */
507
+ background: #69C5DC; /* WebKit/Blink Browsers */
504
508
  color: white;
505
509
  }
506
510
  ::-moz-selection {
507
- background: #1d1d1d; /* Gecko Browsers */
511
+ background: #69C5DC; /* Gecko Browsers */
508
512
  color: white;
509
513
  }
510
514
 
511
515
  .contact-info a:hover {
512
- color: #485094;
516
+ color: #69C5DC;
513
517
  text-decoration: underline;
514
518
  background: none;
515
519
  box-shadow: 0 0 0 0;
@@ -522,42 +526,15 @@ span.obligation {
522
526
  */
523
527
 
524
528
  ul {
525
- margin-left: 1.2em;
529
+ margin-left: 0.5em;
526
530
  }
527
531
 
528
- ul {
529
- margin-left: 1.2em; }
530
-
531
- ul > li {
532
- list-style: none;
533
- }
534
-
535
- ul > li:before {
536
- content: "—";
537
- display: inline-block; width: 1em;
538
- margin-left: -1.2em;
539
- }
540
-
541
- li p {
542
- display: inline;
543
- }
544
-
545
- li:first-child {
546
- margin-top: 1em;
547
- }
548
-
549
532
  #toc ul {
550
533
  margin-bottom: 0.25em; }
551
534
 
552
535
  #toc li {
553
536
  list-style-type: none; }
554
537
 
555
- #toc li:before {
556
- content: " ";
557
- display: none;
558
- }
559
-
560
-
561
538
 
562
539
  /*
563
540
  3.4 Rules
@@ -566,14 +543,10 @@ li:first-child {
566
543
  .rule {
567
544
  width: 100%;
568
545
  height: 1px;
569
- background-color: #0e1a85;
546
+ background-color: #F22E15;
570
547
  margin: 2em 0;
571
548
  }
572
549
 
573
- h2 p {
574
- display: inline;
575
- }
576
-
577
550
  /*
578
551
  3.5 Bibliograhy
579
552
  */
@@ -581,7 +554,6 @@ h2 p {
581
554
  p.Biblio, p.NormRef {
582
555
  margin-top: 1em;
583
556
  margin-left: 2em;
584
- text-indent:-2em;
585
557
  }
586
558
 
587
559
  /*
@@ -590,11 +562,14 @@ p.Biblio, p.NormRef {
590
562
 
591
563
  .figure, .Sourcecode {
592
564
  font-family: $monospacefont;
593
- background-color: #f7f7f7;
594
565
  font-size: 0.8em;
595
566
  line-height: 1.6em;
596
567
  padding: 1.5em;
597
- margin: 2em 0 1em 0;
568
+ background-color: #F5F6F6;
569
+ border-left: solid 5px #69C5DC;
570
+ color: rgb(91, 94, 95);
571
+ padding: 1.2em 1.2em 1.2em 2.2em;
572
+ margin: 2em 0 2em -1em;;
598
573
  overflow: auto;
599
574
  }
600
575
 
@@ -609,10 +584,11 @@ p.Biblio, p.NormRef {
609
584
  */
610
585
 
611
586
  .Note {
612
- background-color: #fff495;
613
- color: #47430c;
614
- padding: 1.2em;
615
- margin: 2em 0 1em 0;
587
+ background-color: #F5F6F6;
588
+ border-left: solid 5px #69C5DC;
589
+ color: rgb(91, 94, 95);
590
+ padding: 1.2em 1.2em 1.2em 2.2em;
591
+ margin: 2em 0 2em -1em;
616
592
  }
617
593
 
618
594
  /*
@@ -620,9 +596,11 @@ p.Biblio, p.NormRef {
620
596
  */
621
597
 
622
598
  .example {
623
- background-color: #e1eef1;
624
- padding: 1.2em;
625
- margin: 2em 0 1em 0;
599
+ background-color: #F5F6F6;
600
+ border-left: solid 5px #69C5DC;
601
+ color: rgb(91, 94, 95);
602
+ padding: 1.2em 1.2em 1.2em 2.2em;
603
+ margin: 2em 0 2em -1em;
626
604
  }
627
605
 
628
606
  .example .example-title {
@@ -636,6 +614,11 @@ p.Biblio, p.NormRef {
636
614
  3.9 Tables
637
615
  */
638
616
 
617
+ table, th, td {
618
+ border: none!important;
619
+ font-size: 0.95em;
620
+ }
621
+
639
622
  table {
640
623
  border-collapse: collapse;
641
624
  width: 100%;
@@ -644,11 +627,7 @@ table {
644
627
  margin-left: auto;
645
628
  margin-right: auto;
646
629
  padding-right: 2em;
647
- }
648
-
649
- table, th, td {
650
- border: 1px solid black;
651
- font-size: 0.95em;
630
+ border: solid 1px #F5F6F6!important;
652
631
  }
653
632
 
654
633
  td, th {
@@ -659,6 +638,16 @@ td.header {
659
638
  font-weight: 400;
660
639
  }
661
640
 
641
+ tr:nth-child(even) {
642
+ background-color: #FBF9F8;
643
+ }
644
+
645
+ thead {
646
+ background-color: #69C5DC;
647
+ color: white;
648
+ border: none;
649
+ }
650
+
662
651
  p.TableTitle {
663
652
  text-align: center;
664
653
  margin-top: 2.5em;
@@ -684,13 +673,12 @@ a.footnote-number {
684
673
  */
685
674
 
686
675
  .Quote {
687
- background-color: #f7f7f7;
676
+ background-color: #F5F6F6;
677
+ border-left: solid 5px #69C5DC;
678
+ color: rgb(91, 94, 95);
679
+ padding: 1.2em 1.2em 1.2em 2.2em;
680
+ margin: 2em 0 2em -1em;;
688
681
  font-style: italic;
689
- width: 80%;
690
- padding: 1.5em;
691
- margin-top: 2em;
692
- margin-left: auto;
693
- margin-right: auto;
694
682
  }
695
683
 
696
684
  .QuoteAttribution
@@ -702,9 +690,11 @@ a.footnote-number {
702
690
  */
703
691
 
704
692
  .formula, .Formula {
705
- background-color: #f7f7f7;
706
- padding: 1.5em;
707
- margin-top: 2em;
693
+ background-color: #F5F6F6;
694
+ border-left: solid 5px #69C5DC;
695
+ color: rgb(91, 94, 95);
696
+ padding: 1.2em 1.2em 1.2em 2.2em;
697
+ margin: 2em 0 2em -1em;;
708
698
  text-align: center;
709
699
  }
710
700
 
@@ -779,12 +769,12 @@ p {
779
769
  4.1 Top Logo
780
770
  */
781
771
 
782
- .wrapper-top {
783
- background-color:#0e1a85;
784
- /* background-image: url("img/dots@2x.png"); */
785
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAABYlAAAWJQFJUiTwAAADwUlEQVR4nO3YgQ2AMAwDwcAiWZ1NizrH30lIeIEq9nPOGSDqPgC7+93v/suy3Mmvhx+6VAAIcwFAmc4nyzYAIMgGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAIS5AKCs3oFk2QYAJNkAIMwFAGX1DiTLNgAgyQYAYS4AKKt3IFm2AQBJNgAIcwFAWb0DybINAEiyAUCYCwDK6h1Ilm0AQJINAMJcAFBW70CybAMAkmwAEOYCgLJ6B5JlGwCQZAOAMBcAlNU7kCzbAIAkGwCEuQCgrN6BZNkGACTZACDMBQBl9Q4kyzYAIMkGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAIS5AKCs3oFk2QYAJNkAIMwFAGX1DiTLNgAgyQYAYS4AKKt3IFm2AQBJNgAIcwFAWb0DybINAEiyAUCYCwDK6h1Ilm0AQJINAMJcAFBW70CybAMAkmwAEOYCgLJ6B5JlGwCQZAOAMBcAlNU7kCzbAIAkGwCEuQCgrN6BZNkGACTZACDMBQBl9Q4kyzYAIMkGAGEuACirdyBZtgEASTYACHMBQFm9A8myDQBIsgFAmAsAyuodSJZtAECSDQDCXABQVu9AsmwDAJJsABDmAoCyegeSZRsAkGQDgDAXAJTVO5As2wCAJBsAhLkAoKzegWTZBgAk2QAgzAUAZfUOJMs2ACDJBgBhLgAoq3cgWbYBAEk2AAhzAUBZvQPJsg0ASLIBQJgLAMrqHUiWbQBAkg0AwlwAUFbvQLJsAwCSbAAQ5gKAsnoHkmUbAJBkA4AwFwCU1TuQLNsAgCQbAFTNzA9ggAr9aahO8QAAAABJRU5ErkJggg==');
786
- color: #ffffff;
787
- padding: 2em 0;
772
+
773
+ .coverpage {
774
+ /*background: radial-gradient(#2D5D8E, #0D1E2B);*/
775
+ /*background-image: url("img/dots@2x.png");*/
776
+ color: black;
777
+ padding: 2em 0 0 2em;
788
778
  }
789
779
 
790
780
  .doc-number {
@@ -795,11 +785,8 @@ p {
795
785
  .coverpage-title {
796
786
  padding-bottom: 0.5em;
797
787
  font-family: $headerfont;
798
- font-size: 1.2em;
799
- line-height: 1.2em;
788
+ font-size: 1.5em;
800
789
  font-weight: 900;
801
- padding-left: 1em;
802
- padding-right: 1em;
803
790
  }
804
791
 
805
792
  .coverpage-date {
@@ -807,12 +794,8 @@ p {
807
794
  font-weight: 900;
808
795
  }
809
796
 
810
- .title-section1 {
811
- padding: 0 2em 0 3em;
812
- }
813
-
814
797
  .prefatory-section {
815
- padding: 0 3em 0 6em;
798
+ padding: 0 2em 0 3em;
816
799
  }
817
800
 
818
801
 
@@ -823,28 +806,73 @@ p {
823
806
 
824
807
  .coverpage {
825
808
  text-align: center;
826
- padding-left: 1.5em;
827
809
  }
828
810
 
811
+ .coverpage-logo {
812
+ margin-top: 2em;
813
+ margin-bottom: 2em;
814
+ background-color: white;
815
+ }
816
+
817
+ .coverpage-logo img {
818
+ width: 400px;
819
+ }
820
+
821
+
829
822
  .coverpage-logo span, .coverpage-tc-name span {
830
823
  font-family: $bodyfont;
831
824
  text-transform: uppercase;
832
- font-weight: 600;
825
+ font-weight: 300;
826
+ display: block;
833
827
  }
834
-
828
+
829
+ /*
835
830
  .coverpage-tc-name {
836
831
  font-size: 1.2em;
837
832
  line-height: 1.2em;
838
833
  margin: 0.25em 0;
839
834
  }
835
+ */
840
836
 
841
837
  /*
842
838
  4.2 Document Identity
843
839
  */
844
840
 
845
- .coverpage-doc-identity {
841
+ .titles {
842
+ background-color: #69C5DC;
843
+ }
844
+
845
+ .title-first {
846
846
  font-size: 2em;
847
847
  line-height: 2em;
848
+ padding-bottom: 1em;
849
+ font-weight: 900;
850
+ text-transform: uppercase;
851
+ background-color: #69C5DC;
852
+ color: white;
853
+ }
854
+
855
+ .title-second {
856
+ font-size: 1.5em;
857
+ line-height: 2em;
858
+ margin-top: 3em;
859
+ padding-top: 1em;
860
+ font-weight: 600;
861
+ text-transform: uppercase;
862
+ color: white;
863
+ }
864
+
865
+ .docinfo {
866
+ margin-top: 2em;
867
+ margin-bottom: 3em;
868
+ }
869
+
870
+
871
+ .coverpage-doc-identity {
872
+ height: 100px;
873
+ width: 100%;
874
+ background-size: 240px 80px;
875
+ margin: auto;
848
876
  }
849
877
 
850
878
 
@@ -855,12 +883,33 @@ p {
855
883
  .coverpage-stage-block {
856
884
  font-family: $bodyfont;
857
885
  font-weight: 700;
858
- font-size: 1.25em;
859
- margin: 2em 0em 2em 0em;
886
+ font-size: 1em;
887
+ margin: 1em 0em 1em 0em;
860
888
  text-transform: uppercase;
861
889
  }
862
890
 
891
+ .section-title {
892
+ background-color: #69C5DC;
893
+ padding: 1em 2em 1em 5.5em;
894
+ margin: 4em -3em 3em -5em;
895
+ border-bottom: 4px solid #F22E15;
896
+ }
863
897
 
898
+
899
+ .section-title h1 {
900
+ font-size: 2em;
901
+ font-weight: 800;
902
+ line-height: 1em;
903
+ margin-top: 0.5em;
904
+ margin-bottom: 0;
905
+ color: white;
906
+ text-transform: none;
907
+ }
908
+
909
+ h2 {
910
+ border-bottom: solid 1px #69C5DC;
911
+ color: black;
912
+ }
864
913
 
865
914
 
866
915
  /*
@@ -869,15 +918,15 @@ p {
869
918
 
870
919
 
871
920
  .coverpage-warning {
872
- border-top: solid 1px #f36f36;
873
- border-bottom: solid 1px #f36f36;
921
+ border-top: solid 1px #F22E15;
922
+ border-bottom: solid 1px #F22E15;
874
923
  margin: 1em 2em;
875
- color: #485094;
924
+ color: black;
876
925
  padding: 1em;
877
926
  }
878
927
 
879
928
  .coverpage-warning .title {
880
- color: #f36f36;
929
+ color: #F22E15;
881
930
  font-family: $headerfont;
882
931
  font-weight: 700;
883
932
  text-transform: uppercase;
@@ -897,7 +946,7 @@ p {
897
946
  }
898
947
 
899
948
 
900
- .copyright .name, .copyright .address {color: #485094;}
949
+ .copyright .name, .copyright .address {color: black;}
901
950
 
902
951
 
903
952
 
@@ -921,7 +970,7 @@ To top button
921
970
  font-size: 12px;
922
971
  border: none;
923
972
  outline: none;
924
- background-color: #1d1d1d;
973
+ background-color: #69C5DC;
925
974
  opacity: 0.15;
926
975
  color: white;
927
976
  cursor: pointer;
@@ -938,3 +987,15 @@ a.anchorjs-link:hover {
938
987
  color: #485094;
939
988
  box-shadow: none;
940
989
  }
990
+
991
+ @page {
992
+ margin: 1cm;
993
+ }
994
+
995
+ @media print {
996
+ .section-title {page-break-before: always;}
997
+ nav, #toc, #toggle, .document-stage-band,
998
+ .document-type-band {display: none;}
999
+ .container {padding-left: 0;}
1000
+
1001
+ }
@@ -11,24 +11,30 @@ module IsoDoc
11
11
  File.join(File.dirname(__FILE__), File.join("html", file))
12
12
  end
13
13
 
14
+ def add_image(filenames)
15
+ filenames.each do |filename|
16
+ system "cp #{html_doc_path(filename)} #{filename}"
17
+ @files_to_delete << filename
18
+ end
19
+ end
20
+
14
21
  def initialize(options)
15
22
  super
16
23
  @htmlstylesheet = generate_css(html_doc_path("htmlstyle.scss"), true, default_fonts(options))
17
24
  @htmlcoverpage = html_doc_path("html_m3d_titlepage.html")
18
25
  @htmlintropage = html_doc_path("html_m3d_intro.html")
19
26
  @scripts = html_doc_path("scripts.html")
20
- system "cp #{html_doc_path('logo.jpg')} logo.jpg"
21
- @files_to_delete << "logo.jpg"
27
+ add_image(%w(logo.jpg m3-logo.png))
22
28
  end
23
29
 
24
30
  def default_fonts(options)
25
31
  b = options[:bodyfont] ||
26
32
  (options[:script] == "Hans" ? '"SimSun",serif' :
27
- '"Garamond",serif')
33
+ '"Overpass",sans-serif')
28
34
  h = options[:headerfont] ||
29
35
  (options[:script] == "Hans" ? '"SimHei",sans-serif' :
30
- '"Garamond",serif')
31
- m = options[:monospacefont] || '"Courier New",monospace'
36
+ '"Overpass",sans-serif')
37
+ m = options[:monospacefont] || '"Space Mono",monospace'
32
38
  "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n"
33
39
  end
34
40
 
@@ -136,6 +142,11 @@ module IsoDoc
136
142
  end
137
143
  docxml
138
144
  end
145
+
146
+ def info(isoxml, out)
147
+ @meta.url isoxml, out
148
+ super
149
+ end
139
150
  end
140
151
  end
141
152
  end
@@ -33,6 +33,10 @@ module IsoDoc
33
33
  "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n"
34
34
  end
35
35
 
36
+ def metadata_init(lang, script, labels)
37
+ @meta = Metadata.new(lang, script, labels)
38
+ end
39
+
36
40
  def colophon(body, docxml)
37
41
  section_break(body)
38
42
  body.div **{ class: "colophon" } do |div|
@@ -84,6 +88,11 @@ module IsoDoc
84
88
  end
85
89
  from_xhtml(h1)
86
90
  end
91
+
92
+ def info(isoxml, out)
93
+ @meta.url isoxml, out
94
+ super
95
+ end
87
96
  end
88
97
  end
89
98
  end
@@ -77,6 +77,11 @@ module IsoDoc
77
77
  return isodate unless m && m[:yr] && m[:mo]
78
78
  return "#{MONTHS[m[:mo].to_sym]} #{m[:yr]}"
79
79
  end
80
+
81
+ def url(isoxml, _out)
82
+ url = isoxml.at(ns("//bibdata/source"))
83
+ set(:url, url.text) if url
84
+ end
80
85
  end
81
86
  end
82
87
  end
@@ -17,6 +17,10 @@ module Metanorma
17
17
  }
18
18
  end
19
19
 
20
+ def version
21
+ "Asciidoctor::M3d #{Asciidoctor::M3d::VERSION}"
22
+ end
23
+
20
24
  def input_to_isodoc(file)
21
25
  Metanorma::Input::Asciidoc.new.process(file, @asciidoctor_backend)
22
26
  end
@@ -32,4 +36,4 @@ module Metanorma
32
36
 
33
37
  end
34
38
  end
35
- end
39
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-m3d
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
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-06-20 00:00:00.000000000 Z
11
+ date: 2018-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -318,6 +318,20 @@ dependencies:
318
318
  - - "~>"
319
319
  - !ruby/object:Gem::Version
320
320
  version: '0.9'
321
+ - !ruby/object:Gem::Dependency
322
+ name: metanorma
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
321
335
  description: |
322
336
  asciidoctor-m3d lets you write M3AAWG Documents (M3D) in AsciiDoc syntax.
323
337
 
@@ -363,6 +377,7 @@ files:
363
377
  - lib/isodoc/m3d/html/html_m3d_titlepage.html
364
378
  - lib/isodoc/m3d/html/htmlstyle.scss
365
379
  - lib/isodoc/m3d/html/logo.jpg
380
+ - lib/isodoc/m3d/html/m3-logo.png
366
381
  - lib/isodoc/m3d/html/m3d.scss
367
382
  - lib/isodoc/m3d/html/scripts.html
368
383
  - lib/isodoc/m3d/html/word_m3d_intro.html
@@ -395,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
395
410
  version: '0'
396
411
  requirements: []
397
412
  rubyforge_project:
398
- rubygems_version: 2.7.7
413
+ rubygems_version: 2.7.6
399
414
  signing_key:
400
415
  specification_version: 4
401
416
  summary: asciidoctor-m3d lets you write M3AAWG Documents (M3D) in AsciiDoc.