GeoSciML (Geoscience Markup Language) is a GML/XML data model for the transfer of geoscience information, developed by the IUGS Commission for the Management and Application of Geoscience Information (CGI).
This repository additionally hosts the OGC 16-008 GeoSciML 4.1 standard
re-encoded in Metanorma AsciiDoc (under docs/), so that the
official standard can be rebuilt and re-published from source rather than from
the legacy hand-produced HTML.
The best way to contribute is to fork this repository. David Blodgett wrote an excellent best-practice document to set up your environment.
The Metanorma source of the standard is in docs/:
| Path | Purpose |
|---|---|
docs/document.adoc |
Master file: all document metadata + includes |
docs/sections/ |
Clauses 1–11, Annexes A–C, and the front matter |
docs/images/ |
All 107 figures (PNG) referenced by the clauses |
docs/metanorma.yml |
Metanorma site manifest |
docs/STATUS.adoc |
Conversion notes and things to check on first build |
The entry point is docs/document.adoc. Two output shapes are useful:
- Single document –
metanorma compile document.adocproducesdocument.html(plus.xml, and.pdf/.docwhen fonts are present). This is the quickest way to preview while editing. - Full site –
metanorma site generate ... .produces a browsable site (public/index.html) and is what the CI publishes to GitHub Pages.
.github/workflows/metanorma-docs.yml
builds the standard on every push / pull request that touches docs/:
- every run attaches the rendered site to the workflow as a downloadable
artifact (
geosciml-site), so a branch can be previewed before merge; - pushes to
main/masteradditionally publish the site to GitHub Pages.
One-time setup: in the repository, open Settings → Pages and set Build and deployment → Source to GitHub Actions. The workflow uses the official
metanorma/metanormaDocker image, so no tokens or secrets are required.
Note: this workflow replaces the two Cimas-generated placeholders (
generate.yml,docker.yml) that shipped with the OGC template. Those ranmetanorma site generateat the repository root, where there is nometanorma.yml, so they have been removed. The GitLab equivalent is kept atdocs/.gitlab-ci.ymlfor reference and can be deleted if you are GitHub-only.
You can build the standard locally in two ways. Both produce the same output; pick whichever matches your setup. All commands are run from the repository root unless noted.
This needs only Docker — no Ruby, Java, or fonts to install. It works on Windows, macOS, Linux, and inside WSL. The official image bundles the entire toolchain.
Pull the image once:
docker pull metanorma/metanormaQuick single-document preview (fastest):
# Linux / macOS / WSL (bash)
docker run --rm -v "$(pwd)/docs":/metanorma metanorma/metanorma \
metanorma compile document.adoc# Windows PowerShell
docker run --rm -v "${PWD}\docs:/metanorma" metanorma/metanorma `
metanorma compile document.adocOpen the result at docs/document.html.
Full site build (identical to what CI publishes):
docker run --rm -v "$(pwd)/docs":/metanorma metanorma/metanorma \
metanorma site generate --output-dir public --agree-to-terms .Open the result at docs/public/index.html.
The image mounts your
docs/folder at/metanorma(its default working directory), so the build readsdocument.adocand writes the output back intodocs/on your machine.
Use this if you want Metanorma installed directly in WSL without Docker.
-
Install WSL + Ubuntu (in an elevated PowerShell on Windows), then reboot and finish the Ubuntu first-run user setup:
wsl --install -d Ubuntu
-
Install the Metanorma toolchain inside the Ubuntu shell. This installs Ruby, Java, fonts, and all Metanorma gems via the official setup scripts:
sudo apt-get update && sudo apt-get install -y curl sudo bash -c "curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/ubuntu.sh | bash" curl -L https://raw.githubusercontent.com/metanorma/metanorma-linux-setup/master/install-gems.sh | bash
Verify the install:
metanorma version --all
-
Build. Navigate to the repo (a Windows checkout is under
/mnt/c/...) and build fromdocs/:cd /mnt/c/path/to/OGC-GeoSciML-metanorma/docs # single document metanorma compile document.adoc # or the full site metanorma site generate --output-dir public --agree-to-terms .
-
Open the output from WSL in your Windows browser:
explorer.exe document.html # or: explorer.exe public
Fonts / PlantUML: the standard ships pre-rendered PNG figures, so PlantUML is not required. For on-screen HTML the default fonts are fine; the setup script installs fontist for higher-fidelity PDF/DOC output. Pass
--agree-to-termson the first run to accept the font licences non-interactively.
A native install on Ubuntu proper is identical from step 2 onward.