grug-publishing.md (2590B)
1 `((title . "Writing a static site generator has made me thankful for programming.") (date . "2025-08-19"));` 2 I just hacked together a publishing mechanism for my static site generator, 3 [grug](https://git.loquat.dev/grug). I hadn't actually modified the code for it 4 in a while, so it took me a second to get back into the flow of writing Scheme. 5 It's always a great experience, though! Now, building my site is as simple as 6 running `grug build` and publishing it is as simple as running `grug publish`. 7 8 I think some people think writing code is boring. It can be, but working on 9 practical projects that you can actually use in your own life is a really 10 awesome experience. It's taken me a few minutes to write this post, and because 11 of my project, I can do all the processing with ease! It's a simple thing, but 12 it's really given me that feeling of accomplishment. I imagine this is what my 13 ancestors felt like when they built chairs and tables with their own hands. 14 Although, this is much less difficult (I think so). 15 16 This beats trying to remake quake for the millionth time by far, haha. I 17 encourage whoever is reading this to try and make something that they can use. 18 In my experience, I frequently get lost trying to make something that I think 19 would be cool. I've always wanted to make a videogame, but it's not exactly 20 something that you can practically use in your day-to-day life. I think this is 21 part of the reason I love tinkering with my Linux setup. It has a direct 22 correlation to my productivity. I can spend a while setting something up exactly 23 how I want it, and now I can use it with ease. 24 25 A simple example of this is shell aliases. It takes you a minute to get it set 26 up, but now you can just write `yta` and paste a YouTube link in my terminal to 27 automatically download the audio from that link and put it in the folder that 28 correlates to its channel. You don't even need to browse YouTube anymore. You 29 just have that audio now. I download podcasts all the time now using this. It's 30 great. 31 32 It takes time, yeah. But the ROI is good enough, in my opinion. I hope this 33 makes sense to you. It does to me, haha. 34 35 Grug still has a long way to go. The code is mostly crap and doesn't really 36 handle errors. If you put in a command that doesn't exist, it will just dump a 37 bunch of errors and give you an obscure warning message. I need to fix that. 38 But, it works! It's a process. I never really got software development as a 39 whole until I did this. So, moral of the story? Make projects that you can use. 40 You'll (probably) have fun. 41 42 More writing coming soon! 43 44 In Christ, 45 46 Luke