a static site generator with aspirations to web crawler
Muffet builds a large avl tree which contains many avl trees linking every which way which allows for non-directed graph walks, as well as hierachical views. The easiest way to visit every node is a walk from host to children, and this is done several times during the creation of the tree.
Unlike [slov] muffet assumes there is a schema key value pairs, HOST, BREF, TYPE are used as they were in oscean, lists LINK and BODY also follow the same pattern. An additional list TAGS is a list of internal references to create additional hubs. Previously we had a tag line with several links like this.
TAGS:[fear][homestuck][black][mind][documentation]
which was increadibly clunky to manage. The new way is nicer all around.
Muffet gracefully handles nodes in slov which do not follow this schema, or partially follow it, they will simply not be traversable from the main tree after generation.
to build simply run mk.
to install run mk install.
create directorys /lib/muffet/gemini /lib/muffet/html
to execute first ensure slov is running and populated then use : muffet > out
where 'out' is the flat rendering of the site.
The gemini files will be placed in /lib/muffet/gemini with .gmi extention. Html files are placed in /lib/muffet/html with the .html extention.
It is possible to configure different output paths by changing a global string.
If there are any nodes with TYPE text and there is a filename in cannonical form (lowercase and spaces swapped with _) in /lib/muffet/media/txt then that file's contents will be read into the body of the matching node. In the future TYPE html should do similar with /lib/muffet/media/html. If for some reason someone decides to use this and has further questions let me know and [jalae_lain_casaus] try to help
Muffet will also generate [links/rss.xml] and [links/atom.xml] feeds as well as format a gemini [feed] compatible with gemini style subscription.