README.adoc
= metanorma-iec: Metanorma processor for the International Electrotechnical Commission
image:https://img.shields.io/gem/v/metanorma-iec.svg["Gem Version", link="https://rubygems.org/gems/metanorma-iec"]
image:https://github.com/metanorma/metanorma-iec/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-iec/actions?workflow=rake"]
image:https://codeclimate.com/github/metanorma/metanorma-iec/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-iec"]
image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-iec.svg["Pull Requests", link="https://github.com/metanorma/metanorma-iec/pulls"]
image:https://img.shields.io/github/commits-since/metanorma/metanorma-iec/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-iec/releases"]
== Functionality
This gem processes https://www.metanorma.com[Metanorma documents] following
the Metanorma model for generating IEC standards.
The gem is basically the https://github.com/metanorma/metanorma-iso gem, with some tweaking of rendering to meet the particular requirements of the IEC.
It provides the following functions:
. Compiles Metanorma input into the Metanorma-IEC XML format (which is identical to Metanorma-ISO, since the two standards share the same document model)
. Validates XML output against the Metanorma-IEC 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.
. Metanorma-IEC XML is then converted into desired output formats.
The following outputs are supported:
* Primary: the canonical Metanorma-IEC XML representation (`.xml`).
* Secondary: the Metanorma-IEC XML representation is processed to generate the following outputs
as end deliverable IEC documents.
** HTML (`.html`)
** Word (`.doc`)
== Structure
This gem inherits from the https://github.com/metanorma/metanorma-iso
gem, and aligns closely to it.
=== Quickstart
Please see https://www.metanorma.com for instructions to get started.
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:
[source,console]
----
$ bash <(curl -s https://raw.githubusercontent.com/metanorma/metanorma-macos-setup/master/metanorma-setup)
$ gem install metanorma-cli
$ gem install metanorma-iec
----
== Usage
Using the `metanorma` CLI:
[source,console]
----
$ metanorma --type iec a.adoc # output HTML
$ metanorma --type iec --extensions html a.adoc # output just HTML
$ metanorma --type iec --extensions xml a.adoc # output Metanorma XML
----
== Authoring
Please refer to the Metanorma-ISO documentation for general documentation.
* Metanorma-ISO general documentation: https://www.metanorma.com/software/metanorma-iso/
* Metanorma-ISO guidance: https://www.metanorma.com/software/metanorma-iso/docs/guidance/
== Documentation
See https://www.metanorma.com/author/iso/[Write ISO documents with Metanorma]
== Examples
* Example documents are avalable at the https://github.com/metanorma/mn-samples-iec[mn-samples-iec] repository.
* Document templates are available at the https://github.com/metanorma/mn-templates-iec[mn-templates-iec] repository.