User Tools

Site Tools


dev-guide:markdowndoku

Create embedded documentation based on markdown files

With GroIMP 2.1.4 it is possible to use a markdown file to generate the content of the embedded documentation of a GroIMP plugin. The idea is that the README.md file of a git repository is then doubly used. Yet since the pipeline depends on pandoc, it is in theory also possible to use a large number of other import formats including docx,odt or latex.

Requirements

To use this pipeline it is required that pandoc is installed, and that the project contains the files template.docbook and copyfilter.lua in the directory src/main/resources/doc. Both files can be found in the maven template.

Enabling/ disabling the pipeline

By default this pipeline is disabled, since parts of GroIMP contain docbook based documentation. To enable it for a certain plugin the maven property “maven.assembly.generate.docbook” must be defined in the pom.xml. The value can be any of the phases of the main pom.xml

<properties>
   [...]
   <maven.assembly.generate.docbook>generate-resources</maven.assembly.generate.docbook>
</properties>

To disable this pipeline the same property must be deleted or set to “None”

Selecting a source

The source of the pipeline is by default “README.md” (caution it is case sensitive), if the source is suppose to be any different file it can be defined in the “MarkdownDocFile” option:

<properties>
   [...]
   <maven.assembly.generate.docbook>generate-resources</maven.assembly.generate.docbook>
   <MarkdownDocFile>embedded.md</MarkdownDocFile>
</properties>

At this position it would also be possible to set other formats e.g.: MarkdownDocFile>docu.odt</MarkdownDocFile> Moreover it is possilbe to set several files (only markdown) as a parameter, this files then will be concatenated and process as one and create one docbook file: <MarkdownDocFile>README.md docu.md extra.md</MarkdownDocFile>

Markdown Syntax (GroIMP flavored Markdown)

The markdown flavor used here is the one of pandoc with only a very few additions:

Images

To ensure that images included in the file are shown in the readme.md on Git as well as in the embedded documentation, all images must be saved in the src/main/resources/doc/res directory.

To scale an image in size please use:[Label](scr/main/resources/doc/res/image.png){ height=75px } The content of [Lable] is then in the documentation used as the the label of the image.

In GroIMP references

If the documentation is about a certain panel, option or example, it is possible to create a hyperlink in GroIMP that shows this resource. This works based on the 'command:' link feature of the GroIMP webview.

To ensure that this links do no weirdly show up on the Readme in the git the following syntax can be used.

*panels/explorers/graphobjects*
*examples:graphexplorer/GraphObjectRef*
*preferences:graphExplorer/subGraph*

This will, on git, only show the paths in italic. For GroIMP it will be preprocessed to create the links to the commands to present the requested resource.

Tables

to add a table the the following syntax can be used:

| header 1 | header 2 | header 3 |
| ---      | ---      | ---      |
| cell 1   | cell 2   | cell 3   |
| cell 4 | cell 5 is longer | cell d |
| cell 7   |          | cell 9   |

Defining the title

By default the title of the chapter of documentation is the name of the plugin in the maven pom. This name can be change by adding the variable “ftitle” to the first markdown file:

---
ftitle: GroIMP user manual
...
dev-guide/markdowndoku.txt · Last modified: 2024/07/08 10:50 by timOb