My personal website. Written in SvelteKit using TailwindCSS and components from shadcn-svelte.
Install pnpm
, clone and cd
into the repository, then run:
pnpm install
# for development:
pnpm dev
# for production:
pnpm build
pnpm preview
This site contains custom SSG blog generation functionality that I built myself. It converts
Markdown into static HTML pages served under /blog
. I decided to replace it with a fully
standalone blog created with an actual static site generator to avoid NIH syndrome and decrease
maintenance time.
It may still serve as a useful reference for how to build a static blog in SvelteKit, for anyone interested.
To add posts, create a directory in /blog
. The top level subdirectories should be the year, but
there's no hard rules on what the rest of the subdirectories will be. The blog will build itself
based on the file structure in /blog/[year]/**
, and posts will be located wherever there exists
content.md
+ post.toml
files. Check post.schema.json
for the specification of the post.toml
format. Finally, you can add a .blogignore
file to any directory in /blog
to exclude it from
static rendering (useful for work-in-progress blog posts).
The website's source code is licensed under the MIT License. The contents of my blog are licensed under CC BY-NC-SA 4.0.