$[include html/header.html]

Information about this website

site-info.html was last modified on $[stat -c %y ./html/site-info.html | head -c 10].

/(.*\.)?natalieee.net/

why?

I was displeased with my former status of not having a website

how?

requests to /(.*\.)?natalieee.net/ get routed to nginx, which acts as a proxy for my subdomains. nginx routes requests requests to /^natalieee.net/ to this webserver, which is named sludge. requests to /.*\.natalieee.net/ are routed according to the /.*\.natalieee.net/ section.

/^natalieee.net/

the root domain of this website, which you are currently observing, is running sludge. the colors of both the light and dark mode are based off of the colorscheme of my laptop.

sludge

what is a sludge?

s[ite][k]ludge is my from-scratch webserver. it has features.

why?

I dislike "web development". also, I was bored.

what does sludge do?

how does sludge?

sludge receives requests for paths. if these paths are in the routing table, it determines what it should respond with. generally, if the path starts with /html/, it will read an html document from the filesystem. following this, it will locate any instance of "{key}" and replace these instances with a value determined by a function associated to the route being requested in the routing table. after substituting these values, it will find any instances of the pattern "$[echo \$\[...]]", where ... is a valid bash expression. for each match, it replaces the original matching text with the output of said text executed in bash. this functions as a static sight generator. an example of this is the headers on this site, which are included via the following expression: "$[echo \$\[include ./html/header.html]]"

sludge also has the ability to apply arbitrary edits to outgoing data prior to said data being sent, but after it has been generated. you may observe this here.

/.*\.natalieee.net/

$[include html/footer.html]