You may be asking: "isn't this Neocities?" Yes, but this is also SvelteKit. With the power of prerendered routes with parameters, we've got ourselves a way to make an API. Keyword prerendered. Don't think about trying to break this as it's still just static files.


Currently only sorted by update date, unless otherwise stated.

Post format

As described in PostData.


Returns all posts.


Returns all of the featured posts. Sort is manually determined.


Returns the amount of posts for a given tag.
  • #thing: v1/posts/length/thing.json
  • Everything: v1/posts/length/all.json


Returns the posts for a given tag and page. A single page holds up to 15 posts.
  • Page 1 of #thing: v1/posts/page/thing/0.json
  • Page 2 of #thing: v1/posts/page/thing/1.json
  • Page 1 of everything: v1/posts/page/0.json


Uses the /sri/ folder in the project directory. Short for "source image", and fits nicely under the src folder.
If SvelteKit isn't able to find an SRI image when crawling the website, it won't be saved!


Gives an image from /sri/ in the project directory, transforming them if needed.
For example, if you had test.png in your /sri/ folder:
  • /sri1/test.webp would give test.png in the WebP format
  • /sri1/test.200.png would give test.png resized to a width of 200


Simply passes an image from /sri/, and nothing else. Note that some of these things in this folder are from /static/.
It's recommended to detect /sri/ with resolveSri() and replace it with the according endpoint. For example, a Markdown image should automatically turn /sri/hi.png into something like /sri1/hi.300.webp .
When doing so, make sure to give a way to download the original image. .webp is great on the web, but it's not widely supported in things like image editors due to the will of god.


/style/[style].css (WIP)

Gives a style from /src/style/ in the project directory, transforming them and shit. A dumb workaround for vitejs/vite#2522.
  • /style/error.css would give src/style/error.scss



opens a file in vscode. internally it ensures the file exists and then opens it using code --goto <path>.
originally i used sveltekit's internal api /__open-in-editor, but it doesn't error if a file doesn't exist, and also it's not the best to use an internal api :woozy:
  • /api/v1/open-in-editor?file=package.json: opens package.json in the root of the project



gives all installed packages with their license and author info. used for the credits.



returns commit history. used for commits. duh