I built a webcomic searching tool! It's a simple booru-style positive/negative tag search, and the actual catalog doesn't contain that many comics right now, but that's besides the point.
The actually interesting thing is the context, as this was launched as a part of Alexandra's Marigold Town! It's half webhost, half roleplay, with the idea being that each site is a location in Marigold Town. Certainly not a new idea, but anything making the internet a bit of a weirder place is good in my book. The town's mayor is an owl also? Rad. If you've got the sitebuilding bug and some free time you should totally check it out! Also if you want to just dick around online!! There's an apothecary with docs on 19th century and before medicines! A coffee shop with cute little pixel arts to download!! Lots of other cool stuffs!!!
My contribution was Marigold Town Comics, Games, and More. Creative name, I know. Right now it's just a JavaScript toggle for future ventures, and the aforementioned index.
As is starting to become customary, here's a brief technical breakdown:
The actual comics are entered into a big long YAML file. Unfortunately there's no strictYAML port for PHP(I'll probably end up writing one lol), but I know the quirks of it enough to stay safe. I prefer YAML for its general readability, without the verbosity of something like JSON. On pageload, the catalog checks the YAML file's modtime against the modtime of a Sqlite DB file. If the DB is older, it gets regenerated from the YAML file. This is done just because, as more comics get loaded in, having an index saved to disk will be significantly faster than YAML parse -> Hashmap gen -> Hashmap search. Plus it makes the code nicer.
This project contains my most advanced SQL work to-date. The queries are a bit bulky, but I figure keeping everything as 2 or 3 queries will be faster than constantly making Sqlite library calls from PHP. It also makes the code more concise, which is a plus in my book. I did take care to document their workings for future me, so that they're not too unweildly.
That's the only particularly complicated part, from there it's just standard webdev stuff. That help menu is by-far the sexiest CSS I've ever put into prod though.
Short-term Future Plans
- I need to sort out a method for getting user contributions, like adding tags or whole webcomics. This should either be via e-mail, a form, or both.
- Start adding the networks I'm aware of.
- Continue to add various comics from across the 'net!
- Attempt to put up an archive of gopus.xepher.net
Long-term Future Plans
- This site will eventually evolve into a more complicated web experience! There's gonna be characters and a dialog system and probably some other stuff, too!!
- Spoilers!