MUFFET

+1 affinity with arachnids.


tags

black
documentation
fear
homestuck
mind

[muffet source] - last update : Jan 12 2025

[example slov db] - last update : who cares? (format doesn't change)

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. Similarly, if there is a matching cannonname.png in /lib/muffet/media/bg that will be used as the background image for the generated page. In the future TYPE html should read in the document for matching files in /lib/muffet/media/html and /lib/muffet/media/gemini, however I have yet no desire to add this feature set. Feel free to abuse plan9 binding to build the namespace to work with your http server.

Current everyday use of muffet has become streamlined through the use of few helper scripts [updatesite], [updategemini], and [feeder]

If for some reason someone decides to use this and has further questions let me know and [I'll] try to help

Muffet will also generate [RSS] and [Atom] feeds as well as format a gemini [feed] compatible with gemini style subscription.

incoming references

ABOUT
ARRIVAL AT TERRA
CODE
DIRECTORY
F 00104 MINOR GEMINI CHANGES
F 00112 TESTING NEW RSS GEN
F 00113 NEW FEED ENTRY METHOD
F 00115 SLOV AND MUFFET EDITS FOR NEW TIME STAMPS
F 00123 DUMB
F 00124 NOT SURE WHY
F 00132 TAGRANK
FEEDER
FEELING IMPORTANT
INDEX
META
REBOOT
SLOV