Molly is a tool for enhanced literate programing which creates auto-generated rich "folding HTML" file out of plain raw literate source marked in the simplest and most popular "noweb" notation. Molly can generate it on the fly as you work on the file , an extra step for "weaving" docs or "tangling" code can be skipped in "Quick Mode" running under CGI.
Folding HTML format, a marriage of HTML with the idea of outlining, noticeably reduces load on a programmer's memory and allows a number of techniques of source management not available before in Literate Programming, such as "virtual views" on the code, and greatly improves scalability encouraging the programmer to keep all files in one Literate Source Project file.
Currently Molly includes both a weaver and a tangler and is a standalone tool in core perl. Generated folding HTML operation has been tested on Unix and Windows for Firefox and Opera.
Autogeneration of rich html format with Molly can be applied to simple pre-existing html files, such as documentation or even books, and used for non-programming tasks.
This script is a test of the concept (LitProg+folding+dynamic web formatting).
Here are some key features of "Molly":
· creates folding documents on the fly from Literate Source files..
· ..based on rawHTML or dotHTML markup in document sections /i.e. either creates new docs or displays some existing HTML in folding fmt/
· and generates dynamically TOC and code chunks index;
· ties collapsing/expandind of sections with TOC highlighting.
· Provides pass-through tangling with "noweb" and
· provides built-in fully-fledged tangler
· provides a (trivial) tie to ASCIIMathML.js library for inclusion of mathematical expressions in your documents.
· can tangle and weave from command line like traditiona lit prog tools
· allows for the project to be split into several files or reassembled at will: the tangler can process many LitSrc files on command line.
· has options to print all roots in your progect, autodetects cycles (not checked fully)
· can print comments with line numbers referring to the Lit Source in the tangled output
· further enhances traditional LitProg with "Virtual Views" with LINKED_CHUNKs, which are like unix soft links to code chunks from any place in your document.
· improved navigation in the folding document with FLINKs, "folding hyperlinks"
· "forestry" submode to move section trees in the folding document