Directory structure
The Octopus documentation system allows to maintain the documentation for various versions of Octopus simultaneously. This, of course, requires that the some organization of the documentation source (markdown, images, etc.) files, which will be explained in this chapter.
Let’s assume that we the Hugo top directory is $HUGO_DOC .
Hugo usually has the following directory structure:
- content/
:
- Manual/ :
- Tutorial/ :
- Developers/ :
- static/
:
here are images, style sheets, etc. - data/
:
data to be used in shortcodes and templates - resources/
:
other resources - layouts/
:
shortcodes - themes/
:
all files related to the theme. Some are overwritten by contents of layouts or static . - archetypes/
:
templates for generating new pages.
In our case, the following files can be version-dependent:
- content/
- static/images/
Therefore, they should be part of the Octopus code repository. They should reside in:
<basedir>/doc/html/content/
<basedir>/doc/html/images/
If these folders are present in a given branch of the code repository, the build-pages.sh script will copy their content into the respective Hugo folders. If they do not exist in the code repository, they will be copied from
- $HUGO_DOC/octopus-documentation/default/content/
- $HUGO_DOC/octopus-documentation/default/images/
The version selection of the three sections Manual , Tutorial and Developers are independent. It is therefore possible to have a version dependent tutorial section, while using the defaults for the rest.