aboutsummaryrefslogtreecommitdiff
path: root/utility/formatter.xsl
AgeCommit message (Collapse)Author
2016-05-15Implement support for inline math expressionsAdrian Kummerlaender
2016-05-04Implement support of server side math expression renderingAdrian Kummerlaender
Many websites employ the [MathJax](https://www.mathjax.org/) library for dynamically rendering LaTeX math expressions on the client side. I expect to require support for doing just that in the future. But as with syntax highlighting I am of the opinion that this kind of stuff should be performed once during site compilation instead of wasting ressources by forcing each client to do this job for every single page request. Luckily there is a [MathJax-node](https://github.com/mathjax/MathJax-node) module that allows using the _MathJax_ library on the server side. This commit adds support for rendering math expressions written in Markdown respectively LaTeX as follows: `$$1 + 1 \neq 0$$` on the server side. This required the introduction of a new `math_highlighter` helper template in `formatter.xsl` based on the `tex2html` utility provided by _MathJax-node_. This formatter is matched against the (Markdown parser generated) `script` node in `formatter.xsl`'s _embellish_ mode. The HTML rendering of the expression is then embedded in a `p class="math"` node. This explicit labeling allows `master.xsl` to include the `math.css` rules only for pages that actually contain math expressions. Note that the XHTML rendering utility stylesheet `xhtml.xsl` currently adds a XML comment to each `span` node. This is a workaround to prevent _Xalan_ from collapsing "empty" `span` tag pairs into single nodes which otherwise leads to rendering errors as it is not valid HTML and is interpreted as a wrong tree structure by the browser. Note that the CSS rules declared in `math.css` are explicitly not part of the MIT licensed part of this repository but where generated by _MathJax_. As there is currently no _productive_ content making use of math expressions a demo page is available under `page/math_test/`.
2014-09-11Expanded formatter embellishment templatesAdrian Kummerlaender
* XHTML elements "h2" and "h3" are replaced with "h3" and "h4" respectively ** modified all existing contents accordingly ** this was done to avoid the gap between the primary heading and subheadings in the markdown depiction of the contents * fleshed out the InputXSLT project page with further information
2014-09-04Extracted formatter functionality into formatter helper stylesheetAdrian Kummerlaender
* functionality for formatting markdown using kramdown and embellishing the result with e.g. syntax highlighting is required for all content types
2014-08-18Implemented basic cleaning and linking facilitiesAdrian Kummerlaender
* e.g. removing the target directory before each regeneration and symlinking CSS files ** this will be extended to include ressource directories and so on * renamed "formatter.xsl" stylesheet to "helper.xsl" as it now includes various helper templates * finally checked the main CSS into the VCS
2014-08-17Updated formatter helper templateAdrian Kummerlaender
* recent changes in InputXSLT revamped "external-text-formatter" into a general "external-command" function * this changes were implemented to enable e.g. symlinking and copying files from the source to the target
2014-08-06Improved automatic source code highlightingAdrian Kummerlaender
* disable indentation in both the page and datasource master stylesheets ** indentation was interfering with correct output of formatted code * simplified call to formatter helper template
2014-07-14Initial commit of basic generator structureAdrian Kummerlaender
* including example data and current "/home/adrian" layout