Although HTML is the target output format of Jekyll, I am currently annotating text
with Liquid template tags. The primary reason for this is the fact, that HTML, CSS,
JavaScript and SVG are not suited in order to describe complex documents from the
editor's point of view. The Liquid template language is embedded into Jekyll which
makes it easy to use. Moreover, it has adequate functionality and syntax for writers
in order to implement complex documents. However, the Liquid template language does
not seem to be practical for developers from my point of view.
First of all there is no standard tool / way to parse such an annotated text. Therefore,
pattern matching has to be used, in order to extract information out of such texts
via search queries. This seems to be prone to errors, if complex documents are analyzed.
Secondly, Liquid does not provide standard argument handling for tags which further increases the cost developing and maintaining new Liquid template tags.
Lastly, it does not seem that Jekyll itself actively supports multiple output formats.
The complexity of parsing liquid template tags makes it unreasonable costly to convert
texts annotated with liquid tags directly to other formats. On the other hand, alternative
formats can be supported via HTML conversion tools.
Currently I am experimenting with XML as it is a widely supported markup language.
There are many tools in order to process XML documents automatically. One of them
is XSL Transformations (XSLT) which is even part of XML.
In the meantime I will still be using Liquid in the future for this site as it gets
the job done in a relatively simple way.