My personal website
  • MDX 44.3%
  • Astro 27.9%
  • TypeScript 26.2%
  • Clojure 0.8%
  • JavaScript 0.4%
  • Other 0.4%
Find a file
Snorre Magnus Davøen 3a94972081
chore: Release 0.2.2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 21:21:48 +02:00
.vscode feat: Likes on content list pages (#65) 2024-07-17 20:52:47 +02:00
migrations feat: Likes on content list pages (#65) 2024-07-17 20:52:47 +02:00
public chore: Switch slide headings to self-hosted Recursive font 2026-04-29 21:09:11 +02:00
scripts feat: Add beer recipes from brewfather (#50) 2023-12-17 15:16:02 +01:00
src chore: Switch slide headings to self-hosted Recursive font 2026-04-29 21:09:11 +02:00
.dockerignore chore: Remove cloudflare references from repo 2026-01-20 20:58:53 +01:00
.editorconfig Port to astro (#22) 2022-11-16 00:02:40 +01:00
.gitignore chore: Remove cloudflare references from repo 2026-01-20 20:58:53 +01:00
.nvmrc feat: Blog post likes (#53) 2024-05-08 15:00:12 +02:00
.prettierrc chore: Add prettier astro plugin and npm scripts (#32) 2023-08-21 22:17:05 +02:00
astro.config.mjs chore: Remove likes feature and improve Docker setup 2026-01-20 18:24:55 +01:00
biome.json chore: Remove cloudflare references from repo 2026-01-20 20:58:53 +01:00
Dockerfile feat: Proxy endpoint to scaleway s3 bucket 2026-01-20 20:55:52 +01:00
LICENSE chore: Readme, license, and contact info (#45) 2023-09-09 18:03:25 +02:00
package-lock.json feat: Improved RSS with full content 2026-02-21 14:31:23 +01:00
package.json chore: Release 0.2.2 2026-04-29 21:21:48 +02:00
README.md chore: Remove cloudflare references from repo 2026-01-20 20:58:53 +01:00
tailwind.config.cjs chore: Remove likes feature and improve Docker setup 2026-01-20 18:24:55 +01:00
tsconfig.json chore: Slides improvements and docker diagram improvements 2026-02-22 22:15:17 +01:00

Snorre.io

This is the source code for my personal website, snorre.io. It is built using Astro, a modern static site generator built on top of Vite. The source code is free and open source. Feel free to poke around and use it as inspiration for your own website.

🚀 Quickstart

To get started, clone this repo, install dependencies and run dev server:

git clone git@github.com:snorremd/snorreio.git
cd snorreio
bun install
bun run dev

🏗 Project structure

This project was bootstrapped from the Astro blog template with my own modifications and changes added.

It mostly still follows the same structure as the blog template:

├── public/
├── src/
│   ├── components/
│   ├── layouts/
│   └── pages/
├── astro.config.mjs
├── README.md
├── package.json
└── tsconfig.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

📁 Pages

Essentially I have a few main pages:

  • index.astro - The landing page with some info about my site
  • blog.astro - The blog page with a list of all blog posts
  • blog/[slug].mdx - A blog post template for each blog post
  • about.mdx - Some backstory about me
  • privacy.mdx - Privacy policy detailing what data I collect (not much)
  • projects.astro - List of projects I have worked on

🎨 Styling

I use Tailwind CSS for styling, which is a utility-first CSS framework.

📦 Components

I have a few components that I use throughout the site. The components folder also includes my Solid.js comment system and likes functionality.

API Endpoints

  • /api/likes - Handles user likes for blog posts and other content

🧞 Commands

All commands are run from the root of the project, from a terminal:

📦 Basic Commands

Command Action
bun install Installs dependencies
bun run dev Starts local dev server at localhost:3000
bun run build Build your production site to ./dist/
bun run build:watch Build your site and watch for changes
bun run preview Preview your build locally, before deploying
bun run astro ... Run CLI commands like astro add, astro check
bun run astro --help Get help using the Astro CLI

🔧 Development Scripts

Command Action
bun run format Format code with Biome
bun run lint Lint code with Oxlint
bun run check Type check with Astro

🚀 Deployment

The site is hosted on Scaleway and deployed via Docker.

License

The source code is licensed under the MIT License. You are free to use it for your own website, but please provide attribution where you make direct use of my code.

The content, unless otherwise stated, is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Feel free to publish copies or derived work, but you must provide attribution and link back to my site and you must share any derivative work under the same license. Commercial use of my content is not allowed.