Introduction

The big picture

  • Development related content such as developer guide, benchmark documentation, tools description, … are simple Markdown files in e.g. /web/content/docs
  • You can preview documentation locally with Hugo – a static site generator (minimum version: 0.64.1)

Requirements

  • Download Hugo and put it in your PATH. Attention: Use the extended version: e.g. hugo_extended_0.64.1_Windows-64bit.zip
  • Install Pandoc
  • Install Yarn; for downloading required JavaScript & CSS development packages

Getting started

  • Inside the source-directory ogs/web:
    • Run yarn once (this will install required css and js packages)
    • Run hugo server
    • Open http://localhost:1313

As you make modifications to the site it will be rebuild and the page in the browser gets reloaded.

How-Tos

Create a new page

By using hugo new you can create a new page with the correct frontmatter for that kind of page:

  • path is relative to content/ and determines the URL of the page

Or you can simply create a new .pandoc-file in the correct location and fill it by yourself.

Setup navigation for a page

The are submenus (shown in the left sidebar) for specific sections such as for benchmarks. The submenus consist of groups (e.g. Elliptic) and page entries. Groups are defined in config.toml:

[[menu.benchmarks]]
  name = "Elliptic"
  identifier = "elliptic"
  weight = 1

To add your page to a group as an entry add the following frontmatter:

weight = 101

[menu]
  [menu.benchmarks]
    parent = "elliptic"

weight specifies the order of groups and pages in ascending order (top -> down).

Write a page

We use Pandoc Markdown for the actual content.

It is an enhanced version of the original Markdown. Please consult both guides!

Images

Use regular Markdown syntax:

The path to the image can be absolute (by preceding with /) or relative. The relative path starts at your current URL. If your image is in the same directory as your .pandoc-file you have to prefix your path with ../ as in the example above.

See the Pandoc Help for more options on e.g. image size and captions.

Equations

Equations can be set with typical LaTeX syntax by using MathJax. Blocks are defined by $$ at the beginning and $$ at the end of the block. Inline math uses one $ as the delimiter. For more usage instructions see the MathJax LaTeX help.

Files and Downloads

Files belonging directly to a page (e.g. images shown on that same page) should be added directly. Other stuff such as linked PDF files, book chapter input files should be uploaded elsewhere and linked to. You can ask @bilke to host these files for you (on Azure cloud storage).

Bibliography references

Bibliography items from Documentation/bibliography/.bib can be referenced by their id (always use lowercase ids) with the bib-shortcode:



Kolditz, O. and Görke, U.-J. and Shao, H. and Wang, W. (2012): Thermo-Hydro-Mechanical-Chemical Processes in Porous Media - Benchmarks and Examples. vol. 86, ISBN: 978-3-642-27176-2, Springer, DOI: 10.1007/978-3-642-27177-9 

The bib-file has to be converted into a yaml-file with the pybtex-convert-tool:

This yaml-file is then used by the shortcode.


Advanced topics

Update search index

Used components

npm install -g @hashicorp/broken-links-checker
hugo
broken-links-checker --path ./public --baseUrl https://www.opengeosys.org

This article was written by Lars Bilke. If you are missing something or you find an error please let us know. Generated with Hugo 0.72.0. Last revision: June 24, 2020
Commit: [web] Removed git lfs instructions. 794214a  | Edit this page on