A python module to generate markdown documentation for ontologies.
Based on rdflib
and jinja2
.
pip install ontodoc
python -m ontodoc
By default, the file named ontology.ttl
will be used to generate your documentation in the build
destination folder.
You can easily change settings as you need. Available arguments :
Argument name | Default | Description | Implemented |
---|---|---|---|
-i, --input INPUT |
ontology.ttl |
Input ontology file | β |
-o, --output OUTPUT |
build/ |
Output directory for the generated documentation | β |
-t, --templates TEMPLATES |
templates/ |
Custom templates folder | β |
-f, --footer, --no-footer |
true |
Add footer for each page | β |
-c, --concatenate, --no-concatenate |
false |
Concatenate documentation into an unique file | β |
-s, --schema, --no-schema |
true |
Display schemas | β |
-m, --model MODEL |
markdown |
Model type for the documentation. markdown, gh_wiki | β |
You can also generate your documentation and access parameters from python as follow :
import ontodoc
ontodoc.Documentation(input_graph='example/foaf.ttl').generate()
You can explore github actions
to automatically generate and publish your documentation. If you need some inspiration to do it, check our ontodoc github action.
Look at the example for foaf to see what type of documentation you can easily build in 2 lines!
If you want to change the markdown templates, take a look at the structure of the default ones.
%% THIS IS A SCHEMA, IF YOU CANNOT SEE IT, PLEASE TRY TO CONSULT THIS PAGE ON GITHUB AND ON A DESKTOP WEB NAVIGATOR
flowchart LR
subgraph s1["Ontodoc"]
mdhrd["Markdown human readable documentation"]
mt["Markdown templates"]
sod["Structured ontology description"]
cli["Command Line Interface"]
end
sod --> mdhrd
mt --> mdhrd
on(("Ontology")) --> cli
cli --> sod
cli -.-> |*Custom templates*|mt
sod@{ shape: braces}
cli@{ shape: text}
Recognized properties available here.
Feel free to contribute to this open source project!
We need help to implement new features, fix bugs listed in issues.
If you have any idea, create your own issue.
Comming soon...