= Metanorma for Vita Green: Metanorma processor for Vita Green Standard Documents image:https://img.shields.io/gem/v/metanorma-vg.svg["Gem Version", link="https://rubygems.org/gems/metanorma-vg"] image:https://github.com/metanorma/metanorma-vg/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/metanorma/metanorma-vg/actions?workflow=macos"] image:https://github.com/metanorma/metanorma-vg/workflows/ubuntu/badge.svg["Build Status (ubuntu)", link="https://github.com/metanorma/metanorma-vg/actions?workflow=ubuntu"] image:https://github.com/metanorma/metanorma-vg/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/metanorma/metanorma-vg/actions?workflow=windows"] image:https://codeclimate.com/github/metanorma/metanorma-vg/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-vg"] image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-vg.svg["Pull Requests", link="https://github.com/metanorma/metanorma-vg/pulls"] image:https://img.shields.io/github/commits-since/metanorma/metanorma-vg/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-vg/releases"] _Formerly known as_ `metanorma-vsd`. == Functionality This gem processes http://asciidoctor.org/[Asciidoctor] documents following a template for generating Vita Green standards. The gem currently inherits from the https://github.com/riboseinc/asciidoctor-iso gem, and aligns closely to it. Refer to https://metanorma.com[] for guidance. == Usage The preferred way to invoke this gem is via the `metanorma` script: [source,console] ---- $ metanorma --type vg a.adoc # output HTML and DOC $ metanorma --type vg --extensions html a.adoc # output just HTML $ metanorma --type vg --extensions doc a.adoc # output just DOC $ metanorma --type vg --extensions xml a.adoc # output Metanorma XML ---- The gem translates the document into Metanorma XML format, and then validates its output against the Vita Green Metanorma 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 output formats such as HTML and PDF. === Installation If you are using a Mac, the https://github.com/riboseinc/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/riboseinc/metanorma-macos-setup/master/metanorma-setup) $ gem install metanorma-vg ---- == Document Attributes The gem relies on Asciidoctor document attributes to provide necessary metadata about the document. These include: `:edition:`:: The document edition `:revdate:`:: The date the document was last updated `:copyright-year:`:: The year which will be claimed as when the copyright for the document was issued `:title:`:: The main component of the English title of the document (mandatory). (The first line of the AsciiDoc document, which contains the title introduced with `=`, is ignored) `:doctype:`:: The document type (see VSD deliverables: The different types of VSD publications) (mandatory). The permitted types are: + -- * policy-and-procedures * best-practices * supporting-document * report * legal * directives * proposal * standard -- `:status:``:: The document status. The permitted types are: `proposal`, `working-draft`, `committee-draft`, `draft-standard`, `final-draft`, `published`, `withdrawn`. `:committee:`:: The name of the relevant VSD committee (mandatory) `:committee-type:`:: The type of the relevant VSD committee (mandatory): `technical` or `provisional`. `:language:` :: The language of the document (only `en` for now) (mandatory) `:security:` :: Security level classification, e.g., "confidential", "client confidential" The attribute `:draft:`, if present, includes review notes in the XML output; these are otherwise suppressed. == Data Models The Vita Green Standard Document format is an instance of the https://github.com/riboseinc/isodoc-models[StandardDocument model]. Details of this general model can be found on its page.