matfantinel / sveltekit-static-blog-template

A lightweight and customizable template for blogs and portfolio websites, built with SvelteKit.
https://sveltekit-static-blog-template.vercel.app
GNU General Public License v3.0
149 stars 30 forks source link
static-site svelte sveltekit template

SvelteKit Static Blog Template

A lightweight and customizable template for blogs and portfolio websites, built with SvelteKit.

Screenshot

It was built with a few goals in mind:

I achieved this with the help of SvelteKit. There is almost no JavaScript running, and it actually works with JS disabled! While JS is awesome, it's important to know when it's not needed.

Demo site

You can see the template live on the demo site. Additionally, you can check all components in isolation on Histoire.

Building & Running Locally

To run it locally, you simply have to run:

# First, install dependencies
npm install
# Then, run it on dev mode
npm run dev

The site should now be available at http://localhost:5173/ on your local machine, and your local machine's IP address on your network—great for testing on mobile OSes.

Histoire / Storybook

I've used Histoire, a Vite-based Storybook alternative to be able to see and develop components in isolation. To open it, run npm run story:dev.

Image Optimization

This website uses image-transmutation to automatically optimize images used in the site. This means that even if you use non-optimal image formats (like lossless PNGs), it will go over the images and convert images to WebP and AVIF for you, as long as you use the <Image /> component instead of <img />. This is done on build, so it doesn't change anything when running the website locally.

Managing Posts

All posts are Markdown files that are processed with MDsveX to allow using Svelte components inside them. In order to make it easier to manage posts, I highly recommend the Front Matter VS Code extension, which gives you a nice CMS-like UI.

Hosting

When you run npm run build, the website will be compiled into a static site, which means you can host it pretty much anywhere. Some free alternatives I recommend are GitHub Pages, Vercel and Netlify.