clone url: git://git.m455.casa/m455.casa
markup/posts/2023/yet-another-website-generator.txt
1 | title: yet another website generator! |
2 |
|
3 | 2023-02-01 00:18 |
4 |
|
5 | woa, it's late as fuck. didn't realize the time. anyway, i've been working on |
6 | another website generator because my [https://git.m455.casa/lol|lol] project |
7 | felt too... "for general use". i admit this thought was triggered after chatting |
8 | with some friends on tilde.town about how they refound that spark of joy you get |
9 | when you first start programming by programming for personal use, rather than |
10 | for a large, general user base. |
11 |
|
12 | i think what makes it fun, for me, is that i don't focus so much on nice code. |
13 | i'm just hyper focused on having fun programming, and making things do stuff. i |
14 | think i started getting into writing for a general audience because i probably |
15 | subconsciously cared about what other people thought of my code, but now i'd |
16 | rather focus on fun, rather than face, since this is a hobby i do that makes me |
17 | happy afterall. programming for fun, and not for face, kind of feels more like |
18 | painting, rather than sitting down at a table and writing an entire blueprint |
19 | for a wood working project or something. i don't do wood work, but it felt like |
20 | a decent analogy? haha. |
21 |
|
22 | some bonuses that arose out of this project also came up: |
23 |
|
24 | - my rss feed now provides the content from my blog |
25 | - the links in my rss feed get converted from `/some/link` to |
26 | `https://m455.casa/some/link`, so rss feed readers don't try to open the local |
27 | link. i'm sure most readers know how to convert the links, but it was a fun |
28 | regex exercise. |
29 | - this is probably the biggest one, and i definitely want to do a write-up of |
30 | how it works, but i now use both my own very unthought out markup language, |
31 | and a parser that takes the markup language and converts it into html! |
32 |
|
33 | regarding the markup language as being unthought out, i guess it was more of a |
34 | "how can i make a markup language as easy to parse as possible" haha. an aspect |
35 | of this can be found in how i parse the syntax for links. originally, i wanted |
36 | the link syntax to be `[link title here|link url here]`, but since i'm doing a |
37 | line-by-line and then character-by-character parsing approach, i had to keep the |
38 | order of the link title and link url in the same order that they occur in html, |
39 | which is link url first, and then link title later lmao. |
40 |
|
41 | this is also why my ordered and unordered lists need to keep each list element |
42 | on one line, because i'm not in the mood to implement multi-line list elements |
43 | lol. it results in really long lines in the middle of a nicely formatted 80 |
44 | character-width text file, but whatever lol. hmmm after typing that last |
45 | sentence, and adding that last link, i guess the same goes for links too, you |
46 | can't split them across multiple lines, which result in random fingers of text |
47 | jolting out from the nicely formatted text `:big_shrug:`. |
48 |
|
49 | i've also decided to only use included modules in chicken scheme, instead of |
50 | external ones for fun... uh. i guess i do include the utf8 egg, but whatever, |
51 | that's because chicken scheme developers are still working on making chicken |
52 | scheme utf8 aware by default, so let's pretend the utf8 egg is included haha. |
53 |
|
54 | because i've decided to only use included modules, i've replaced my spiffy egg |
55 | dependency with a makefile command that spins up python's built-in http server |
56 | for previewing changes. |
57 |
|
58 | i was able to remove my lowdown egg dependency as well, because i'm using my own |
59 | markup language and parser, so that was pretty sweet too. |
60 |
|
61 | anyway, i'm super stoked that i'm using both my own markup language, markup |
62 | parser, and that i've made my website generator more personal. |
63 |
|
64 | long live the personal web and personal computing! |
65 |
|
66 | oh, uhhh if you want to view the source of my new website generating tools, just |
67 | look at the files under the `src` directory in |
68 | [https://git.m455.casa/m455.casa|this git repository]. |