public class MarkdownRenderer
extends Object
Fairly hacky md renderer, geared towards storing md in github.
Generates ones page per Object (so far just classes, OPs and APs), plus
an index page.
The idea is to store the md in github and make use of github's automatic
rendering. To avoid large flat directories we use a directory structure,
first divided by ontology ID space (warning: OBO hardcode alert), and then
by the last two digits (or other characters) of the ID. For example:
https://github.com/obophenotype/cephalopod-ontology/blob/master/src/ontology/md/CEPH/59/CEPH_0000259.md
It's not really clear at all whether this is a good idea. There are some nice aspects:
- the ontology is searchable via github search
- we have another fallback diff mechanism (the rendered md is generally sorted to avoid spurious diffs)
- it seems to be easier to customize and much less work than making a bona fide web interface
- localized docs, e.g. for forked repos
- universal md currency. E.g. easy to paste into tracker items on github
- possibly extensible to some future framework that allows web-based editing...
Some bad aspects
- everything is very wired to github
- the rendering is incomplete. So far the rule is if it's an axiom type I care about it will probably be rendered
- until the rendering procedure is stable spurious diffs will be generated
- it's just a bit peculiar
- ultimately pointless will be subsumed into the Ultimate web ontology framework that has all the features of Protege, a Wiki and GitHub, .. WebProtege?
Existing features:
is semi-aware of some OBO annotation properties; renders synonyms in a special section
aware of depictions (see http://douroucouli.wordpress.com/2012/07/03/45/)
Example: https://github.com/obophenotype/cephalopod-ontology/blob/master/src/ontology/md/CEPH/30/CEPH_0000130.md
Manchester-esque recursive rendering of some axioms and expressions (falls back to ofn)
- Author:
- cjm