yet another website generator!

2023-02-01 00:18

woa, it's late as fuck. didn't realize the time. anyway, i've been working on another website generator because my lol project felt too... "for general use". i admit this thought was triggered after chatting with some friends on about how they refound that spark of joy you get when you first start programming by programming for personal use, rather than for a large, general user base.

i think what makes it fun, for me, is that i don't focus so much on nice code. i'm just hyper focused on having fun programming, and making things do stuff. i think i started getting into writing for a general audience because i probably subconsciously cared about what other people thought of my code, but now i'd rather focus on fun, rather than face, since this is a hobby i do that makes me happy afterall. programming for fun, and not for face, kind of feels more like painting, rather than sitting down at a table and writing an entire blueprint for a wood working project or something. i don't do wood work, but it felt like a decent analogy? haha.

some bonuses that arose out of this project also came up:

regarding the markup language as being unthought out, i guess it was more of a "how can i make a markup language as easy to parse as possible" haha. an aspect of this can be found in how i parse the syntax for links. originally, i wanted the link syntax to be [link title here|link url here], but since i'm doing a line-by-line and then character-by-character parsing approach, i had to keep the order of the link title and link url in the same order that they occur in html, which is link url first, and then link title later lmao.

this is also why my ordered and unordered lists need to keep each list element on one line, because i'm not in the mood to implement multi-line list elements lol. it results in really long lines in the middle of a nicely formatted 80 character-width text file, but whatever lol. hmmm after typing that last sentence, and adding that last link, i guess the same goes for links too, you can't split them across multiple lines, which result in random fingers of text jolting out from the nicely formatted text :big_shrug:.

i've also decided to only use included modules in chicken scheme, instead of external ones for fun... uh. i guess i do include the utf8 egg, but whatever, that's because chicken scheme developers are still working on making chicken scheme utf8 aware by default, so let's pretend the utf8 egg is included haha.

because i've decided to only use included modules, i've replaced my spiffy egg dependency with a makefile command that spins up python's built-in http server for previewing changes.

i was able to remove my lowdown egg dependency as well, because i'm using my own markup language and parser, so that was pretty sweet too.

anyway, i'm super stoked that i'm using both my own markup language, markup parser, and that i've made my website generator more personal.

long live the personal web and personal computing!

oh, uhhh if you want to view the source of my new website generating tools, just look at the files under the src directory in this git repository.