metanorma/metanorma-ogc

View on GitHub
README.adoc

Summary

Maintainability
Test Coverage
= metanorma-ogc: Metanorma processor for the Open Geospatial Consortium document class

image:https://img.shields.io/gem/v/metanorma-ogc.svg["Gem Version", link="https://rubygems.org/gems/metanorma-ogc"]
image:https://github.com/metanorma/metanorma-ogc/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-ogc/actions?workflow=rake"]
image:https://codeclimate.com/github/metanorma/metanorma-ogc/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-ogc"]
image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-ogc.svg["Pull Requests", link="https://github.com/metanorma/metanorma-ogc/pulls"]
image:https://img.shields.io/github/commits-since/metanorma/metanorma-ogc/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-ogc/releases"]

== Functionality

This gem processes https://www.metanorma.com[Metanorma documents] following
a template for generating OGC standards and documents.

It provides the following functions:

. Compiles Metanorma input into the Metanorma-OGC XML format
. Validates XML output against the Metanorma-OGC 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-OGC XML is then converted into desired output formats.

The following outputs are supported:

* Primary: the canonical Metanorma-OGC XML representation (`.xml`).
* Secondary: the Metanorma-OGC XML representation is processed to generate the following outputs
as end deliverable OGC documents.
** HTML (`.html`)
** PDF (`.pdf`)
** Word (`.doc`)

== Structure

This gem inherits from the https://github.com/metanorma/metanorma-standoc
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-ogc
----


== Usage

Using the `metanorma` CLI:

[source,console]
----
$ metanorma --type ogc a.adoc                   # output HTML
$ metanorma --type ogc --extensions html a.adoc # output just HTML
$ metanorma --type ogc --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/


////
** http://asciimath.org[AsciiMathML] is used for mathematical formatting.
The gem uses the https://github.com/asciidoctor/asciimath[Ruby AsciiMath parser],
which is syntactically stricter than the common MathJax processor;
if you do not get expected results, try bracketing terms your in AsciiMathML
expressions.
////

== Documentation

See https://www.metanorma.com/author/ogc/[Write Open Geospatial Consortium documents with Metanorma]

== Examples

* Example documents are avalable at the https://github.com/metanorma/mn-samples-ogc[mn-samples-ogc] repository.
* Document templates are available at the https://github.com/metanorma/mn-templates-ogc[mn-templates-ogc] repository.