2 ms·
The Chain-of-Responsibility software development design pattern provides a way to separate a source document (Markdown) from its final presentation format (PDF)
by thangalin 8y ago
The Chain-of-Responsibility software development design pattern provides a way to separate a source document (Markdown) from its final presentation format (PDF).
On a related note, I've developed an open source editor that can edit Markdown, R Markdown, and XML documents[1][2]. The input document is translated in real-time to HTML. Using the Chain-of-Responsibility pattern[3] makes it straightforward to introduce additional processor chains, which could include slide show output via CSS.
On a minor technical note, including HTML tags (such as <small>...</small>) defeats one of the key benefits of Markdown: separation of content from presentation. An alternative is to use named blocks to classify text, such as[4]:
::: footer
Copyright 2019 ...
:::
[1]: https://github.com/DaveJarvis/scrivenvar https://github.com/DaveJarvis/scrivenvar
[2]: https://github.com/DaveJarvis/scrivenvar/blob/master/USAGE.md https://github.com/DaveJarvis/scrivenvar/blob/master/USAGE.m...
[3]: https://github.com/DaveJarvis/scrivenvar/tree/master/src/main/java/com/scrivenvar/processors https://github.com/DaveJarvis/scrivenvar/tree/master/src/mai...
[4]: https://pandoc.org/MANUAL.html#divs-and-spans https://pandoc.org/MANUAL.html#divs-and-spans
- leejoramo 8y agoFor a very long time I have extended Markdown for my writing style. I too use the ::: notation for <div> blocks. I have always used MD as a loose idea which I can change as needed.