MT Text-formatting engines
Regarding MT text formatting engines: it is obvious that there is no way to accomodate the full richness of XHTML [cf. Appnel]– not to mention the various other web technologies– into a single _simple_ textual markup scheme. At the point where it equals the expressive power of XHTML, the markup would necessarily surpass XHTML in its complexity, because of the textual gymnastics which allow it to be embedded in XHTML. So, equally as obvious, there can be no one textual formatting engine to rule them all. Instead, a user may want to take advantage of the (complementary?) features of several text formatting engine, mixing and merging the markup schemes with an eventual level of complexity that they control. MT has been designed to allow the user to choose the particular text formatting engine that will be used for each post, which is nice, but I propose that it be taken to the next logical level. Instead of choosing just one engine, the user could choose a tower of formatting engines– that is, a set of formatting engines, and an order in which to apply them. Of course, the question then arises of how to handle the interaction of the markup schemes of the separate engines. One way to do so would be to standardize the markup schemes used by all engines, but that is the first step down the path towards the creation of a markup language– not a good idea, as languages tend towards generality (and therefore complexity) over time. Another, more free-spirited approach, is not to handle the interaction of the engines, to leave that responsibility to the user. And why not?– after all, the user ostensibly knows the syntaxes of the engines he is using.
Even if this paradigm is never officially supported by Six Apart, there is a way to implement it using the current plugin system: Create an ‘OverEngine’ text formatting engine, which when applied to a particular entry, scans that entry for an ordered list of text formatting engines to apply. It can strip this command, locate the appropiate procedures using the MT plugin architecture, and apply them.
Possibly relevant posts:
- Meta Category setup (1/23/2005)
- LaTeX-Render Perl port status (5/27/2004)
- DejaVu (12/24/2006)