GeistHaus
log in · sign up

https://fulmine.neocities.org/feed.xml

atom
5 posts
Polling state
Status active
Last polled May 18, 2026 20:43 UTC
Next poll May 19, 2026 23:49 UTC
Poll interval 86400s
ETag W/"681088b2-2eb4"
Last-Modified Tue, 29 Apr 2025 08:07:14 GMT

Posts

RSS feed mishaps!

I tried implementing an RSS feed. This was 4 more hours of work than I anticipated.

Show full content

I tried implementing an RSS feed. This was 4 more hours of work than I anticipated.

✧✧✧✧✧

RSS feed?

Yes! You can find it over here. To be clear, it's actually an atom feed. But it should work? Hopefully?? I'll find out when I try it out after pushing my site 🤞

Mishaps?

Oh. Yeah. So turns out svelte 5 rendering output doesn't generate valid XML, which is what RSS feeds use. This lead to multiple hours of frustration. Eventually I ended up figuring it out, but I had to render my markdown with another package instead of svelte and mdsvex. As well as import.meta.glob all my stuff twice. One time to get all the metadata, another to get the raw contents.

I did some other dirty hacks to get this to work, and none of them are robust. So let's push it to my site and see if it works! (Please work I don't have another 4 hours to spare) (I mean, I do) (but I'd rather not, y'know?)

Update

I had to spend a few more moments ironing out the kinks. Html wasn't being escaped properly so my posts had no preview. It's escaped now! Hopefully I won't have to look at this again for a While.

https://fulmine.neocities.org//log/2025-04-29-rss-feed-mishaps
It's been a while, huh.

I completely and utterly forgot about this website, so let's pick it back up again?

Show full content

I completely and utterly forgot about this website, so let's pick it back up again?

✧✧✧✧✧

I was lamenting to myself about not having a proper digital home. Y'know, a website where I could put whatever I felt like at the time. And then one of the guys sitting next to me in my head was like. Didn't we have a website that was intended to be that?

So here we are. I'm going to try to work on this site some more, starting today. Chances are I'll probably forget about it again soon, don't @ me if that happens. But I can't risk the astronomical tiny chance that I'll actually stick with it this time.

https://fulmine.neocities.org//log/2025-04-28-its-been-a-while-huh
OK. I caved

I ported this website to sveltekit because I cannot be stopped apparently.

Show full content

I ported this website to sveltekit because I cannot be stopped apparently.

✧✧✧✧✧

Lamentations

That being said, setting up the update log (and future other lists/logs) was still a huge pain. Especially since I decided to use svelte 5... and mdsvex (a markdown utility for svelte) did not want to cooperate with it.

But hey, it's more easily mainatainable in the future I guess?

What does this mean?

It means that that fancy json file that I talked about in a previous update is no longer going to be used. It's a sad day for json.

No seriously, what is sveltekit?

It's a frontend framework! Or more simply put... it helps you build websites without having to use raw javascript. Sveltekit is built on top of svelte. Which is the framework I do basically everything in nowadays lmao. My dashboard work for pluralkit is entirely in svelte!

If you know javascript already, it's pretty easy to get used to. Although I will say that setting up something that imports blog posts like this is a bit more tedious for a beginner, even I struggled with it a little.

Sauce?

I'm considering publishing the source code for this website somewhere. I'll make an update post whenever that happens. Although it likely won't be kept up to date forever! I want to keep my secrets on here.

What did you run into while doing this?

Uhh. A couple of things, here's the main deal:

  • you'll want to enable pre-rendering but also ignore the http errors that you get while crawling... otherwise if you have any links to non-existing pages it will fail to build the site!
  • sveltekit, by default, does some client side things that I really didn't need here. Mainly:
    • you'll want to remove data-sveltekit-preload-data="hover"
    • and replace this with data-sveltekit-reload
    • this will disable its client side routing and ensure you only load your pages when actually on said page. This is the closest to how a neocities site functions when using basic html/css
  • if you're using a similar method to me (generating json files based on something like blog posts) you'll want to name the folders containing the server.ts files something like "posts.json". Just, include the json there. Otherwise they'll be built as plain text files and neocities does not like that lol.
  • make sure you specify a fallback called "not_found.html", since that's what neocities uses for pages that don't exist.

In the end I figured it out but I'm not sure if any of these would be too obvious to a beginner >_> oh well.

https://fulmine.neocities.org//log/2024-07-19-i-caved
Beginnings of a system page

I did the layout and made a new asset for the system page that now exists! There's no actual content on the page itself yet though since I am once again sleep deprived.

Show full content

I did the layout and made a new asset for the system page that now exists! There's no actual content on the page itself yet though since I am once again sleep deprived.

✧✧✧✧✧

Not much to talk about in terms of this update, but I wanted to share the background in its full glory.

https://fulmine.neocities.org//log/2024-07-18-sys-beginnings
Javascript and (b)log posts!

Started making updates easier to maintain... hopefully. Read the details for the technical explanation lol.

Show full content

Started making updates easier to maintain... hopefully. Read the details for the technical explanation lol.

✧✧✧✧✧

One JSON file, many headaches

In the interest of making this site actually somewhat maintainable, I've decided to sprinkle in some javascript. Love it or hate it, it makes things easier for me. I refuse to use a static site generator (SSG) for this website, since it feels... less old web? To me at least haha.

Either way, I now have a single source of truth for my update log. Later I'll do the exact same thing for my blog posts. This source of truth also happens to be a JSON file... which is less than ideal. But I can swap it out for a HTML source later on if I really feel like the JSON is too limiting.

You can even view the json here. It contains every single update, so it's probably going to get really big over time.

The way this works is by fetching this JSON on the pages that display an update, or a list of updates. Then I use some very tedious javascript to fill in the page with this data. The singular update posts still fetch the whole list, it just filters for the one with the right URL. That's exactly how this post works, actually!

That sounds like a lot of work

It's honestly less work than it would be to update a bunch of pages separately. I'm going to be using javascript a lot more throughout this site though, using a similar setup. And now that I've got the foundation for fetching a list down, I can go ahead and expand upon that. The most tedious part by far is setting up the JS that manipulates the actual HTML. Once that's done though, I can pretty much add as many blog posts as I want.

I'm going to use this for both the update log and the more personal/content-oriented blog. These two are separate, for some reason. Even though this particular update post would qualify as a blog post too :P

I'm also planning on using it for a couple of other things. Mainly system alter lists, since I want to use the data from that across multiple pages as well. But also things like OC lists and other creative works. Basically, if there's a list, there probably will be JSON and javascript.

https://fulmine.neocities.org//log/2024-07-17-update-log-nonsense