History
Doodl was inspired by the glasseye package written by Simon Raper at CoppeliaMLA. Like glasseye, doodl brings together three things:
- The markdown markup language (and, in particular, the pandoc extensions to markdown)
- The Tufte wide margin layout11. The Tufte layout makes extensive use of a wide margin to display notes, images and charts.

- Data visualization using d3
The original version was groundbreaking when it was written in 2015, but it was essentially a personal project that Raper kindly made available to others as a courtesy. It was not intended to be a generally usable tool. Our version differs from the original in the following ways:
- We have upgraded the version of Python from the original 2.7 to 3.12.
- We have upgraded the version of d3 from version 6 to version 7.9.0 (the latest stable version).
- As a result of upgrading d3, all of the chart implementations have been almost completely rewritten.
- We have changed the build implementation to use
make, and have removed any dependencies or references to hard coded personal folder names. - We have added a number of new chart types that were not in the original version.
- The generated Javascript bundles are now referenced from CDNs instead of locally.
- We have added the ability to add many, many other sources of visualizations using Laurent P. René de Cotret's Pandoc-Plot package
- The package now consists of a python script (what you get when you type "doodl" on the command line), and three remotely hosted files (two CSS and one Javascript).
- We have also made it possible to use custom charts, implemented outside of doodl.
The result is that making and formatting a new document is now just a matter of installing doodl, creating a new markdown document, and running doodl on the document, which creates an equivalent HTML document (possibly including image files in a plots folder, generated by Pandoc-Plot).