metanorma-iso 1.0.8 → 1.0.9

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: fcfe1b51276c62b73efaf0a7ecfd97c5aae10b34823647cae97942e5e2e1cf1e
4
- data.tar.gz: e5a96003b94cc1965abebb14112755a1c4134078a233279f8b070bed0c09ea58
3
+ metadata.gz: d36e59d91ee690729ee514a08a08a15a650b6e3c1218cf7c4cdc31b799be4972
4
+ data.tar.gz: d978786dec8b8f8d31dde329b859d13b70fcfa7d3d1c10ff88ece85689f34c32
5
5
  SHA512:
6
- metadata.gz: c6217989c8151c10b50280795f8d9b63de4dd6277e3a9ac0cf01f6648ef3721dc3d05b547d88b3b1c376a05d1fd6020f195021df2e87afb83940ace8264d8579
7
- data.tar.gz: 83bc724ef641add5682d9a6f0eaa08187dad5c76aeb5109d0b59af5f5bb0896597bd37377934ee6b0ce082cc510fd490e4b7337e3ecae42fdb48652788ed9931
6
+ metadata.gz: d5b13d09e33a161365fac3d98d996dc2b195520853b5f97f3225804ca392b88c1768dd6d9b7950a19ae16a847a080a73f785eed4e93468a98f947dbf8bdc64e0
7
+ data.tar.gz: 60cfad22dc19fcad0c05526322be131cf6c40eaa4b7cd5815e25979145ea568c696eb89d28f634340c4b288063c33780070855ed81bd87134ec2ea9286d529c3
@@ -3,13 +3,8 @@
3
3
  # All project-specific additions and overrides should be specified in this file.
4
4
 
5
5
  inherit_from:
6
- # Thoughtbot's style guide from: https://github.com/thoughtbot/guides
7
- - ".rubocop.tb.yml"
8
- # Overrides from Ribose
9
- - ".rubocop.ribose.yml"
6
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
10
7
  AllCops:
11
- DisplayCopNames: false
12
- StyleGuideCopsOnly: false
13
- TargetRubyVersion: 2.5
8
+ TargetRubyVersion: 2.3
14
9
  Rails:
15
10
  Enabled: true
@@ -8,22 +8,23 @@ WARNING: This gem is still under development.
8
8
 
9
9
  _Formerly known as_ `asciidoctor-iso`.
10
10
 
11
- == Functionality
11
+ == Functionality and Approach
12
+
13
+ For the conceptual underpinnings of this gem, and the other gems in the Metanorma suite, see the https://github.com/riboseinc/metanorma-model-standoc/blob/master/README.adoc[metanorma-standoc README].
14
+
15
+ == Outputs
12
16
 
13
17
  This gem processes Metanorma documents following a template for generating ISO
14
18
  International Standards. The following outputs are generated.
15
19
 
16
20
  * The XML representation of the document, intended as a document model for ISO
17
21
  International Standards.
18
-
19
- * The XML representation is processed in turn to generate the following outputs
20
- as end deliverable ISO standard drafts.
21
- ** Microsoft Word output (`.doc`), following the style conventions of the
22
+ * Microsoft Word output (`.doc`), following the style conventions of the
22
23
  https://www.iso.org/iso-templates.html[ISO Standard Microsoft Word template].
23
- ** HTML. For ISO, two HTML files are generated: the `.html` file follows ISO
24
+ * HTML. For ISO, two HTML files are generated: the `.html` file follows ISO
24
25
  conventions in rendering, which looks very similar to the Word output, while
25
26
  the `-alt.html` file has richer styling.
26
- ** PDF. Not supported for the ISO gem, but available for other specifications,
27
+ * PDF. Not supported for the ISO gem, but available for other specifications,
27
28
  generated from the HTML file.
28
29
 
29
30
  The following input formats are supported:
@@ -31,18 +32,6 @@ The following input formats are supported:
31
32
  * http://asciidoctor.org/[Asciidoctor]
32
33
  (This AsciiDoc syntax for writing ISO standards is hereby named "AsciiISO".)
33
34
 
34
- This README provides an overview of the functionality of the gem; see also
35
- https://github.com/riboseinc/metanorma-iso/wiki/Guidance-for-authoring[Guidance for authoring]
36
- ISO standards using the gem. The
37
- https://github.com/riboseinc/metanorma-iso/wiki/Quickstart-Guide[Quickstart guide]
38
- gives a summary overview.
39
-
40
- NOTE: http://asciimath.org[AsciiMathML] is used for mathematical formatting.
41
- The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
42
- which is syntactically stricter than the common MathJax processor;
43
- if you do not get expected results, try bracketting terms your in AsciiMathML
44
- expressions.
45
-
46
35
  == Usage
47
36
 
48
37
  The preferred way to invoke this gem is via the `metanorma` script:
@@ -63,24 +52,6 @@ document.
63
52
 
64
53
  The gem then converts the XML into HTML and DOC.
65
54
 
66
- ////
67
- The gem can also be invoked directly within asciidoctor, though this is deprecated:
68
-
69
- [source,console]
70
- ----
71
- $ asciidoctor -b iso -r 'metanorma-iso' a.adoc
72
- ----
73
-
74
- If you do not invoke the `iso` backend explicitly, the AsciiISO source will be
75
- treated as generic Asciidoc markup, and will output an HTML preview that
76
- ignores the ISO-specific modifications to the markup:
77
-
78
- [source,console]
79
- ----
80
- $ asciidoctor a.adoc
81
- ----
82
- ////
83
-
84
55
  === Installation
85
56
 
86
57
  If you are using a Mac, the https://github.com/riboseinc/metanorma-macos-setup
@@ -91,8 +62,11 @@ scripts such as this one. You need only run the following in a Terminal console:
91
62
  ----
92
63
  $ bash <(curl -s https://raw.githubusercontent.com/riboseinc/metanorma-macos-setup/master/metanorma-setup)
93
64
  $ gem install metanorma-iso
65
+ $ gem install metanorma-cli
94
66
  ----
95
67
 
68
+ The metanorma-cli gem is the command-line interface for the Metanorma tool suite
69
+ (incorporating the `metanorma` executable seen above).
96
70
 
97
71
  === Content Warnings
98
72
 
@@ -127,68 +101,13 @@ levels of subsections.)
127
101
  In addition, the gem checks all terms cited from the IEV Electropedia against
128
102
  the online IEV Electropedia entry, and issues a warning if the term is different.
129
103
 
130
- == Approach
131
- === Document model
132
-
133
- The document model ("IsoDoc") used in document generation
134
- intends to introduce rigour into the ISO
135
- standards authoring process; the existing
136
- https://www.iso.org/iso-templates.html[Microsoft Word template from ISO]
137
- do not support such rigour down to the element level. It also introduces
138
- flexibility by decoupling the document structure from its presentation.
139
-
140
- The ISO International Standard format is prescribed in
141
- http://www.iec.ch/members_experts/refdocs/iec/isoiecdir-2%7Bed7.0%7Den.pdf[ISO/IEC DIR 2 "Principles and rules for the structure and drafting of ISO and IEC documents"],
142
- to a level amenable to an explicit document model. A formal document
143
- model would allow checking for consistency in format and content, and expedite
144
- authoring and quality control of ISO standards. Authoring standards through a
145
- more abstract formal model also permit enhanced functionality such as
146
- cross-reference link checking and auto-numbering of sections, figures, tables and formulas.
147
- Outputting a document in different languages also becomes straightforward.
148
-
149
- The document model for ISO Standards specifically is derived from a more general
150
- https://github.com/riboseinc/isodoc-models[StandardDocument model]. Other
151
- ISO-like standards can also be derived from this more general model;
152
- CSD (https://github.com/riboseinc/csd, https://github.com/riboseinc/metanorma-csd)
153
- is one such instance.
154
-
155
104
  The document model for ISO Standards contains all the structures described
156
- in ISO/IEC DIR 2. It is expressed as a
105
+ in http://www.iec.ch/members_experts/refdocs/iec/isoiecdir-2%7Bed7.0%7Den.pdf[ISO/IEC DIR 2 "Principles and rules for the structure and drafting of ISO and IEC documents"].
106
+ It is expressed as a
157
107
  link:lib/metanorma/iso/isostandard.rnc[Relax NG Compact schema]; actual
158
108
  validation occurs against its link:lib/metanorma/iso/isostandard.rng[full Relax
159
109
  NG counterpart].
160
110
 
161
- === Asciidoctor
162
-
163
- Asciidoctor has been selected as the authoring tool to generate the document
164
- model representation of ISO standards. It is a document formatting tool like
165
- Markdown and DocBook, which combines the relative ease of use of the former
166
- (using relatively lightweight markup), and the rigour and expressively of the
167
- latter (it has a well-defined syntax, and was in fact initially developed as a
168
- DocBook document authoring tool). Asciidoctor has built-in capability to output
169
- Text and HTML; so it can be used to preview the file as it is being
170
- authored. However the gem natively outputs HTML and Word output, so there should
171
- not be much need for this.
172
-
173
- In order to generate HTML preview output close to what is intended
174
- in the ISO standard, the Asciidoc
175
- document includes a fair amount of formatting instructions (e.g. disabling
176
- section numbering where appropriate, the titling of Appendixes as Annexes), as
177
- well as ISO boilerplate text, and predefined section headers (sections are
178
- recognised by fixed titles such as `Normative References`). Authoring ISO
179
- standards in this fashion assumes that users will be populating an Asciidoc
180
- template, and not removing needed formatting instructions.
181
-
182
- Asciidoctor has some formatting constraints because of its own document model,
183
- that users need to be aware. For example, Asciidoc has a strict division between
184
- inline and block elements, which disallows certain kinds of nesting; so a list
185
- cannot be embedded within a paragraph, it can only constitute its own paragraph
186
- (though lists themselves can be nested within each other). Asciidoctor also disallows
187
- multiple paragraphs in footnotes,
188
- http://discuss.asciidoctor.org/footnotes-with-paragraph-breaks-td4130.html[by design].
189
- (The document model does not impose this constraint, so you could edit the generated
190
- XML to break up paragraphs within a footnote.)
191
-
192
111
  [[model_additions]]
193
112
  == Asciidoctor model additions
194
113
 
@@ -227,198 +146,29 @@ multiple-block warning
227
146
  ====
228
147
  --
229
148
 
149
+ === Bibliography
230
150
 
231
- == Features not visible in HTML preview
232
-
233
- The gem uses built-in Asciidoc formatting as much as possible, so that users
234
- can retain the ability to preview documents; for _Terms and Definitions_
235
- clauses, which have a good deal of explicit structure, macros have been
236
- introduced for semantic markup (admitted terms, deprecated terms, etc).
237
-
238
- The default HTML output of an Asciidoc-formatted ISO document is quite close to the
239
- intended final output, with the following exceptions, and with the additional
240
- exceptions listed <<model_additions,above>> as markup introduced for ISO markup.
241
- Note that the final
242
- outputs of the conversion (Microsoft Word, PDF, HTML) do not have these exceptions,
243
- and comply with the ISO Standard specifications.
244
-
245
- * _Terms and Definitions_: each term is marked up as an unnumbered subclause,
246
- the semantic markup of alternate and other terms is not rendered visually.
247
-
248
- * _Formulas_: Asciidoctor has no provision for the automated numbering of
249
- isolated block formulas ("stem"), and does not display the number assigned a
250
- block formula in its default HTML processor—although it does provide automated
251
- numbering of examples. Formula numbering is provided in the final outputs
252
- of the conversion.
253
-
254
- * _Missing elements_: The document model does not yet include Asciidoc elements
255
- that do not appear to be relevant to ISO Standards; these will be ignored in
256
- generating ISO XML. Those elements include:
257
- ** sidebars (`aside`) (as distinct from warnings),
258
- ** ASCII art/preformatted text (`literal`) (as distinct from sourcecode listings),
259
- ** page breaks (`thematic break`).
260
-
261
- * _Markup_: Some connecting text which is used to convey markup structure is
262
- left out: in particular, `DEPRECATED` and `SOURCE` (replaced by formatting
263
- macros).
151
+ ISO treats dated and undated references as separate (an undated reference is taken to
152
+ refer to the latest published edition of that reference.) if reference is to be made to
153
+ both an undated and a dated version of an ISO reference, these need to be explicitly listed as
154
+ separate references.
264
155
 
265
- * _Tables_: Table footnotes are treated like all other footnotes: they are
266
- rendered at the bottom of the document, rather than the bottom of the table,
267
- and they are not numbered separately.
268
-
269
- * _Cross-references_: Footnoted cross-references are indicated with the reference
270
- text `fn` in isolation, or `fn:` as a prefix to the reference text. The default
271
- HTML processor leaves these as is: if no reference text is given, only `fn`
272
- will be displayed (though it will still hyperlink to the right reference).
273
-
274
- * _References_: The convention for references is that ISO documents are cited
275
- without brackets by ISO number, and optionally year, whether they are normative
276
- or in the bibliography (e.g. `ISO 20483:2013`); while all other references are
277
- cited by bracketed number in the bibliography (e.g. `[1]`). The default HTML
278
- processor treats all references the same, and will bracket them (e.g. `[ISO
279
- 20483:2013]`). For the same reason, ISO references listed in the bibliography
280
- will be listed under an ISO reference, rather than a bracketed number.
281
-
282
- * _References_: References are rendered cited throughout, since they are
283
- automated. For that reason, if reference is to be made to both an undated and a
284
- dated version of an ISO reference, these need to be explicitly listed as
285
- separate references. (This is not done in the Rice model document, which lists
286
- ISO 6646, but under _Terms and Definitions_ cites the dated ISO 6646:2011.
287
-
288
- * _References_: ISO references that are undated but published have their date
289
- indicated under the ISO standards format in an explanatory footnote. Because of
290
- constraints introduced by Asciidoctor, that explanation is instead given in
291
- square brackets in Asciidoc format.
292
-
293
- * _Annexes_: Subheadings cannot preserve subsection numbering, while also
294
- appearing inline with their text (e.g. Rice document, Annex B.2): they appear
295
- as headings in separate lines.
296
-
297
- * _Annexes_: Cross-references to Annex subclauses are automatically prefixed
298
- with `Clause` rather than `Annex` or nothing.
299
-
300
- * _Metadata_: Document metadata such as document numbers, technical committees
301
- and title wording are not rendered in the default HTML output.
302
-
303
- * _Patent Notice_: Patent notices are treated and rendered as a subsection of
304
- the introduction, with an explicit subheading.
305
-
306
- * _Numbering_: The numbering of figures and tables is sequential in the default
307
- HTML processor: it does not include the Clause or Annex number. This,
308
- _Figure 1_, not _Figure A.1_.
309
-
310
- * _Notes_: There is no automatic note numbering by the default HTML processor.
311
-
312
- * _Review Notes_: The reviewer on the review note is not displayed.
313
-
314
- * _Keys_: Keys to formulas and figures are expected to be marked up as
315
- definition lists consistently, rather than as inline prose.
316
-
317
- * _Figures_: Simple figures are marked up as images, figures containing
318
- subfigures as examples. Numbering by the default HTML processor may be
319
- inconsistent. Subfigures are automatically numbered as independent figures.
320
-
321
- * _Markup_: The default HTML processor does not support CSS extensions such as
322
- small caps or strike through, though these can be marked up as CSS classes
323
- through custom macros in Asciidoctor: a custom CSS stylesheet will be needed to
324
- render them.
325
-
326
- == Bibliography integration
327
-
328
- Bibliographic entries for ISO standards are expected to use the standard document
329
- identifier as the item label; e.g.
330
-
331
- [source,asciidoctor]
332
- --
333
- * [[[ref1,ISO 712]]], _Cereals and cereal products -- Determination of moisture content -- Reference method_
334
- --
335
-
336
- By default, the `isobib` gem is used to look up the reference details for
337
- any item label prefixed with `ISO` on the ISO web site. The full bibliographic details
338
- of the item are screenscraped from the ISO site and inserted into the XML file
339
- (although only the title of the reference is used in rendering). The
340
- http://www.electropedia.org[Electropedia] termbank is queried in validation, to confirm
341
- that the cited entries in Terms and Definitions are the same as what is cited online;
342
- those queries are routed through the `iev` gem
343
-
344
- [[cache]]
345
- The results of all `isobib` searches done to date, across all documents,
346
- are cached in the global cache file `~/.relaton-bib.pstore`,
347
- so they do not need to be re-fetched each time a document is processed.
348
- (The web query takes a few seconds per reference.)
349
-
350
- The results of all `isobib` searches done to date for the current document
351
- (`filename.adoc`) are stored in the same directory as the current document,
352
- in the file `{filename}.relaton.pstore`. The local cache overrides entries in
353
- the global cache, and can be manually edited. The local cache is only used
354
- if the `:local-cache:` or `:local-cache-only:` document attribute is set.
355
-
356
- If the document attribute `:no-isobib:` is set, the reference details for
357
- items are not looked up via `isobib`, and the `isobib` caches are not used.
358
- If the document attribute `:no-isobib-cache:` is set, the reference details for
359
- items are still looked up via `isobib`, but the `isobib` caches are not used.
360
-
361
- Any entry in the cache that corresponds to an undated ISO reference fetches its details
362
- from the latest available entry on the ISO web site. If the entry is more than 60
363
- days old, it is refetched.
364
-
365
- The results of all `iev` searches done to date across all documents are cached
366
- in the global cache fule `~/iev.pstore`, and the results of all `iev` searches
367
- done to date for the current document are stored in the same directory as the
368
- current document, in the file `(filename).iev.pstore`.
156
+ For automated bibliography integration, see the https://github.com/riboseinc/metanorma-model-standoc/blob/master/README.adoc[metanorma-standoc README].
369
157
 
158
+ [[document-attributes]]
370
159
  == Document Attributes
371
160
 
372
- The gem relies on Asciidoctor document attributes to provide necessary
373
- metadata about the document. These include:
374
-
375
- `:nodoc:`:: Do not generate Word and HTML output, only generate XML output.
376
- Can be used as a command-line option (like all other document attributes):
377
- `asciidoctor -a nodoc -b iso -r "metanorma-iso" a.adoc`
378
-
379
- `:novalid:`:: Suppress validation.
380
-
381
- `:flush-caches:`:: If set, delete and reinitialise the <<cache,cache>> of `isobib` searches
382
- for ISO references from the ISO web site.
383
-
384
- `:no-isobib:`:: If set, do not use the `isobib` or `iev` gem functionality to look up
385
- ISO and IEV references online, nor the <<cache,cache>> of `isobib` and `iev` searches.
386
-
387
- `:no-isobib-cache:`:: If set, use the `isobib` and `iev` gem functionality to look up
388
- ISO and IEV references online, but do not use the <<cache,cache>> of `isobib` and `iev` searches.
389
-
390
- `:local-cache:`:: Use the local isobib and iev search caches to override the global isobib and iev search
391
- caches.
392
-
393
- `:local-cache-only:`:: Use the local isobib and iev search caches to the exclusion of the global isobib and iev search
394
- caches.
395
-
396
- `:i18nyaml:`:: Name of YAML file of internationalisation text, to use instead
397
- of the built-in English, French or Chinese text used to label parts of the document
398
- (e.g. "Table", "Foreword", boilerplate text for Normative References, etc.)
399
- Use if you wish to output an ISO standard in a language other than those three.
400
- A sample YAML file for English, with "Foreword" replaced with "Frontispiece",
401
- is available at link:spec/examples/english.yaml[].
402
-
403
- `:docnumber:`:: The ISO document number (mandatory)
161
+ The gem uses the document attributes defined for metanorma-standoc (see
162
+ the https://github.com/riboseinc/metanorma-model-standoc/blob/master/README.adoc[metanorma-standoc README]).
163
+ The following document attributes are specific to ISO:
404
164
 
405
165
  `:tc-docnumber:`:: The document number assigned by the Technical committee
406
166
 
407
167
  `:partnumber:`:: The ISO document part number. (This can be "part-subpart" if this is an IEC document.)
408
168
 
409
- `:edition:`:: The document edition
410
-
411
- `:revdate:`:: The date the document was last updated
412
-
413
- `:draft:`:: The document draft (used in addition to document stage, for multiple iterations: expected format _X.Y_)
414
-
415
- `:copyright-year:`:: The year which will be claimed as when the copyright for
416
- the document was issued
417
-
418
- `:library-ics:` :: The ICS (International Categorization for Standards) number for the standard. There may be more than one ICS for a document; if so, they should be comma-delimited. (The ics identifier is added to the document metadata, but is not output to the current document templates.)
419
-
420
169
  `:title-intro-en:`:: The introductory component of the English title of the
421
- document
170
+ document. This and the other `:title-*` document attributes are used instead
171
+ of the metanorma-standoc `:title:` attribute.
422
172
 
423
173
  `:title-main-en:`:: The main component of the English title of the document
424
174
  (mandatory). (The first line of the AsciiDoc document, which contains the title
@@ -436,14 +186,16 @@ components such as annexes.)
436
186
 
437
187
  `:title-part-fr:`:: The French title of the document part
438
188
 
439
- `:doctype:`:: The document type (see
189
+ `:doctype:`:: Has its possible values defined by
440
190
  https://www.iso.org/deliverables-all.html[ISO deliverables: The different types of ISO publications]
441
- ) (mandatory). The permitted types are:
191
+ (mandatory). The permitted types are:
442
192
  `international-standard, technical-specification, technical-report,
443
193
  publicly-available-specification, international-workshop-agreement, guide`.
444
194
 
445
195
  `:docstage:`:: The stage code for the document status (see
446
- https://www.iso.org/stage-codes.html[International harmonized stage codes])
196
+ https://www.iso.org/stage-codes.html[International harmonized stage codes]).
197
+ This attribute and `:docsubstage:` replace the `:status:` attribute of
198
+ metanorma-standoc.
447
199
 
448
200
  `:docsubstage:`:: The substage code for the document status (see
449
201
  https://www.iso.org/stage-codes.html[International harmonized stage codes])
@@ -479,92 +231,6 @@ not supplied. Example values: `JWG`, `JAG`, `AG` (advisory group), `AHG`, `SWG`,
479
231
 
480
232
  `:workgroup:`:: The name of the relevant ISO workgroup
481
233
 
482
- `:language:` :: The language of the document (`en` or `fr`). Defaults to `en`.
483
-
484
- `:script:` :: The script of the document (defaults to `Latn`). Must be supplied as
485
- `Hans` for Simplified Chinese.
486
-
487
- `:publisher:`:: The standards agency publishing the standard; can be multiple
488
- (comma-delimited). Defaults to `ISO`.
489
-
490
- `:uri:`:: The URI to which this standard is published.
491
- `:xml-uri:`:: The URI to which the (Metanorma) XML representation of this standard is published.
492
- `:html-uri:`:: The URI to which the HTML representation of this standard is published.
493
- `:pdf-uri:`:: The URI to which the PDF representation of this standard is published.
494
- `:doc-uri:`:: The URI to which the DOC representation of this standard is published.
495
- `:relaton-uri:`:: The URI to which the Relaton XML representation of this standard is published.
496
-
497
- `:body-font:`:: Font for body text; will be inserted into CSS. Defaults to
498
- Cambria for Latin script, SimSun for Simplified Chinese.
499
-
500
- `:header-font:`:: Font for headers; will be inserted into CSS. Defaults to
501
- Cambria for Latin script, SimHei for Simplified Chinese.
502
-
503
- `:monospace-font`:: Font for monospace; will be inserted into CSS. Defaults to
504
- Courier New.
505
-
506
- `:htmlstylesheet`:: SCSS stylesheet to use for HTML output. Defaults to built in stylesheet,
507
- which adheres with ISO formatting requirements. Recommend against overriding this.
508
-
509
- `:htmlcoverpage`:: HTML template for cover page. Defaults to built in template. Recommend against overriding this.
510
-
511
- `:htmlintropage`:: HTML template for introductory section. Defaults to built in template. Recommend against overriding this.
512
-
513
- `:scripts`:: Javascript scripts for HTML output. Defaults to built in scripts. Recommend against overriding this.
514
- `:scripts-pdf`:: Javascript scripts for HTML > PDF output. Defaults to built in scripts. Recommend against overriding this.
515
-
516
- `:wordstylesheet`:: Primary SCSS stylesheet to use for Word output. Defaults to built in stylesheet,
517
- which adheres with ISO formatting requirements. Recommend against overriding this.
518
-
519
- `:standardstylesheet`:: Secondary SCSS stylesheet use for Word output. Defaults to built in stylesheet,
520
- which adheres with ISO formatting requirements. Recommend against overriding this.
521
-
522
- `:header`:: Header and footer file for Word output. Defaults to built in template. Recommend against overriding this.
523
-
524
- `:wordcoverpage`:: Word template for cover page. Defaults to built in template. Recommend against overriding this.
525
-
526
- `:wordintropage`:: Word template for introductory section. Defaults to built in template. Recommend against overriding this.
527
-
528
- `:ulstyle`:: Word CSS selector for unordered lists in supplied stylesheets. Defaults to value for built in stylesheet. Recommend against overriding this.
529
-
530
- `:olstyle`:: Word CSS selector for ordered lists in supplied stylesheets. Defaults to value for built in stylesheet. Recommend against overriding this.
531
-
532
- `:data-uri-image`:: Encode all images in HTML output as inline data-URIs.
533
-
534
- The attribute `:draft:`, if present, includes review notes in the XML output;
535
- these are otherwise suppressed.
536
-
537
- The document proper can reference the values of document attributes, which is convenient
538
- for reusability. For example,
539
- the Rice Model document references the editorial groups that have contributed to the
540
- document as
541
-
542
- [source,asciidoc]
543
- --
544
- This document was prepared by Technical Committee ISO/TC {technical-committee-number}, _{technical-committee}_, Subcommittee SC {subcommittee-number}, _{subcommittee}_.
545
- --
546
-
547
- If the corresponding document attributes are not populated in the header, then the references
548
- themselves will not be populated.
549
-
550
-
551
- == Data Models
552
-
553
- The IsoDoc data model (IsoStandardDocument) is instantiated from the
554
- https://github.com/riboseinc/isodoc-models[StandardDocument model]. For details
555
- please visit that page.
556
-
557
- == Code Structure
558
-
559
- The gem invokes the following other gems as a division of labour.
560
-
561
- * This gem generates the IsoDoc XML proper
562
- * https://github.com/riboseinc/isodoc renders IsoDoc XML into HTML
563
- * https://github.com/riboseinc/html2doc converts HTML into Microsoft Word
564
- * https://github.com/riboseinc/isodoc-models derives the ISO Standard grammar
565
- used for validation from the generic IsoDoc grammar
566
-
567
-
568
234
  == Examples
569
235
 
570
236
  The gem has been tested to date against the