Metanorma-ISO: Metanorma processor for ISO standards
Functionality and Approach
For the conceptual underpinnings of this gem, and the other gems in the Metanorma suite, see the metanorma-standoc README.
This gem processes Metanorma documents following a template for generating ISO International Standards. The following outputs are generated.
The XML representation of the document, intended as a document model for ISO International Standards.
Microsoft Word output (
.doc), following the style conventions of the ISO Standard Microsoft Word template.
HTML. For ISO, two HTML files are generated: the
.htmlfile follows ISO conventions in rendering, which looks very similar to the Word output, while the
-alt.htmlfile has richer styling.
PDF. Not supported for the ISO gem, but available for other specifications, generated from the HTML file.
The following input formats are supported:
Asciidoctor (This AsciiDoc syntax for writing ISO standards is hereby named "AsciiISO".)
The preferred way to invoke this gem is via the
$ metanorma --type iso a.adoc # output HTML and DOC $ metanorma --type csd --extensions html a.adoc # output just HTML $ metanorma --type csd --extensions doc a.adoc # output just DOC $ metanorma --type csd --extensions xml a.adoc # output CSD XML
The gem translates the document into ISO XML format, and then validates its output against the ISO XML document model; errors are reported to console against the XML, and are intended for users to check that they have provided all necessary components of the document.
The gem then converts the XML into HTML and DOC.
If you are using a Mac, the https://github.com/metanorma/metanorma-macos-setup repository has instructions on setting up your machine to run Metanorma scripts such as this one. You need only run the following in a Terminal console:
$ bash <(curl -s https://raw.githubusercontent.com/metanorma/metanorma-macos-setup/master/metanorma-setup) $ gem install metanorma-iso $ gem install metanorma-cli
The metanorma-cli gem is the command-line interface for the Metanorma tool suite
metanorma executable seen above).