full screen
Suitability of Liquid Template Language as a Markup Language
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.