metanorma-iso 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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