Related Documentation:
The GENESIS Documentation System is fully automated with versioning under the control of monotone. To learn more about monotone and its use by GENESIS see Version Control and to learn more about the levels of GENESIS documentation see Documentation Overview. This document assumes that you are familiar with that material.
Here, we introduce some of the flexibility, features, and requirements of the GENESIS Documentation System. We describe the location of source files within this system, the contents of a documentation folder/directory, and how to create a new document. UNIX shell command line utilities are available to query and maintain the GENESIS Documentation System as a filesystem based database of documents.
To learn how to add a new document to the GENESIS version control system see Version Control. Once a document is under version control and identified with the correct tags (see below) it can be automatically published from your local computer to the GENESIS website (www.genesis-sim.org) to be available for other members of the GENESIS community.
Following a Developer Installation the documents that make up the GENESIS Documentation System are located in your local workspace. The default location of your local workspace is:
~/neurospaces_project/userdocs/source/snapshots/0
|
The source materials for individual GENESIS documents are located in uniquely named folders/directories in your local workspace. One of the directories in the workspace is named NewDocument. This directory and the files it contains provide the templates for a generic GENESIS document. The files included by default are descriptor.yml and NewDocument.tex, and a sub-directory named figures (see also GENESIS source code directory layout).
The name of the descriptor file descriptor.yml should not be changed. The default contents of this file include: attributes (terminated by a colon) and tags (indicated by a hyphen), for example:
---
comment: Optional comment. description: Briefly describe document contents here. document name: Insert a user readable document name here. tags: - genesis3 - level2 - published |
Two important attributes are not included in the default descriptor.yml file, but may be added as required:
Source files for the GENESIS Documentation System are currently produced with the LATEX typesetting package (see www.latex-project.org). It is planned that Microsoft Word (.doc format) and OpenOffice (.odt, ODF format) file formats will also be automatically recognized by the GENESIS Documentation System.
The default LATEX documentation source file NewDocument.tex in the NewDocument folder can be compiled to produce a readable PDF file. It gives help and examples for colorizing text, generating static hyperlinks to local and remote documentation, and how to insert a figure into your documentation.
This directory contains any figures that your new document source file may include. The name of this folder should not be changed.
There are four simple steps to the creation of a new document within the GENESIS Documentation System.
userdocs-create <my-document>
|
This command creates a new document folder/directory and its sub-directories by copying the template NewDocument file and assigning the given document name to both the documentation folder (here, for example, it would be my-document) and the default documentation file it contains (here, my-document.tex). It also inserts a description and a document name into the descriptor.yml file.
You can also specify multiple document names to create a series of documents:
userdocs-create <my-document1> <my-document2> <my-document3> . . .
|
Important: It is a requirement of the GENESIS Documentation System that the names of the descriptor file descriptor.yml and the directory figures located in the document folder should not be changed.
For more details see Manual Document Creation. The remaining steps in document creation are currently manual.
% start: userdocs-tag-replace-items <related-do-nothing>
% end: userdocs-tag-replace-items <related-do-nothing> |
The default tag for this system is <related-do-nothing>, which allows a document to be created and published in the absence of any related hyperlinks.
More than one related document hyperlink can be added to a document by the addition of tags you create that replace the default tag. For example:
% start: userdocs-tag-replace-items <your-tag-name1> <your-tag-name2> <your-tag-name3> . . .
% end: userdocs-tag-replace-items <your-tag-name1> <your-tag-name2> <your-tag-name3> . . . |
As shown in the above example, the related tag(s) should have the following form:
related-<your-tag-name1>
|
where <your-tag-name1> is replaced by an identifier you create.
Note: The default related document hyperlink related-do-nothing relies on a document called do-nothing.tex.
Important: When creating a new document, the default tag (-level2) in the associated descriptor.yml file should be replaced with a tag from the above list that identifies the correct level of the document.
For more on the levels of the GENESIS Documentation System see the Documentation Overview.
Precedence of publication related tags: Three tags control publication of documents within the GENESIS Documentation System. They are interpreted in a hierarchical manner, such that the presence of the -draft tag along with either the -local and/or -published tag will prevent the document from being included into a build/update of the Documentation System. Alternatively, a document will not be published to be browser viewable in the absence of either the -local or -published tag. So if documentation is (not) appearing where you expect after an update, it is a good idea to check the publication tags in the descriptor.yml file.
Tags in the descriptor file currently recognized by the documentation build system include:
tags:
- contents-level1 - contents-level2 - contents-level3 - contents-level4 - contents-level5 - contents-level6 - contents-level7 - draft - local - published - obsolete - html - png - ps - mp3 - wav |
Other useful tags include:
- genesis2
- genesis3 - level1 - level2 - level3 - level4 - level5 - level6 - level7 - wiki - create - introduction - tutorial - document |
Note: User supplied tags not recognized by the documentation build system may still be useful for local control and sorting of documentation. Importantly, when adding your own tags remember that the interpretation of the descriptor.yml file by the GENESIS Documentation System is sensitive to white space and indents.
The GENESIS Documentation System currently supports BibTeX by default. The two LATEXcommands at the end of the NewDocument template enable this functionality. They are:
\bibliographystyle{plain}
\bibliography{../../../tex/bib/g3-refs.bib} |
These commands allow you to define a citation style for your references and give the location of a file that complies with the BibTex file format requirements and contains your bibliography. Currently, the default name of this file is g3-refs.bib. It contains all the references for the GENESIS Publication System.
The GENESIS Documentation System recognizes a number of different file formats. The purpose is to allow preexisting documentation to be directly included without having first to be converted to the LATEX format.
To incorporate a pre-existing document into the GENESIS Documentation System:
It is also possible to incorporate audio and video files as part of documentation. Currently recognized audio file format tags include:
To incorporate video into a GENESIS document:
Note: With document incorporation (c.f. creation) the document to be included is located in the <document-name> directory and NOT the figures subdirectory.
To learn more about document version tracking and control in the GENESIS Documentation System, see Version Control.
The validity of the hyperlinks embedded in GENESIS documentation (see NewDocument) are checked by userdocs_cron each time the GENESIS Documentation System is rebuilt. The output of this check can be viewed at www.genesis-sim.org/userdocs/webcheck/badlinks.html.
Webcheck can also be run locally to check hyperlinks. When run in the
~/neurospaces_project/userdocs/source/snapshots/0
|
directory, the command makewebcheck will produce a report in
~/neurospaces_project/userdocs/source/snapshots/0/html/htdocs/neurospaces_project/userdocs/webcheck/
|
To learn more about the automated publication of documents in the GENESIS Documentation System, see Publication.