minimalistic but opinionated blog template using astro and svelte. aims to be super easy to deploy and use, with a focus on performance and SEO, ease-of-use and design.
See a live demo here (also doubles as a tutorial on how to use this template).
Features:
- ✅ 100/100 Lighthouse performance
- ✅ SEO-friendly with canonical URLs and OpenGraph data (automatically generated)
- ✅ Sitemap support
- ✅ RSS Feed support
- ✅ Markdown support
- ✅ Pagination
- ✅ Syntax highlighting (+ copy button)
- ✅ Dark and light mode with toggle button or auto-detect
- ✅ Search included
- ✅ Tags for posts
- ✅ Super easy to deploy as a static site
- ✅ Includes some prebuilt components for you to use
- ✅ Easy to edit by editing the markdown directly
the demo blog doubles as a tutorial on how to use this template:
-
Fork this repository by clicking on "Use template" (note: this repository per default uses github actions which are only free for public repositories).
-
In your repository settings, set up github pages to deploy using github actions (SETTINGS -> PAGES -> SOURCE: Github Actions)
-
Set up your blog info in
src/config.json(most importantly changeSITEto your deployment url, e.g. for github pageshttps://<your-github-username>.github.io/andBASEto your base path, e.g. for github pages/<your-repo-name>) -
Your blog should be live in about 1 minute at
https://<your-github-username>.github.io/<your-repo-name> -
Add your blog posts in
src/content/blog/ -
Add your info in
src/content/info/:
description.mdis used for the homepage descriptionabout.mdis used for the about page
Search currently only works in production mode (i.e. when running npm run build) not in dev mode (npm run dev).
Adopted from the default astro blog template when running npm create astro@latest.
MIT.