Getting started with Serene

Configure identity, write posts, add projects and links, and optionally enable Waline comments.

Published
Reading
1 min
Category
Meta
Tags
meta guide
On this page
  1. 1. Site identity
  2. 2. Design tokens
  3. 3. Write posts
  4. 4. Projects, links, tools
  5. 5. Commands
  6. 6. Optional comments and activity data

This guide matches a typical theme setup post: config first, content second, extras last.

1. Site identity

Edit src/site.config.ts:

FieldRole
siteProduction URL (canonical, RSS, OG)
title / descriptionSite name and meta blurb
author / tagline / bioHome and footer copy
avatarPortrait under src/assets/
nav / socialsHeader and contact links
walineOptional comments and reactions (enabled + serverURL)
githubContributionsOptional calendar on the Projects page

Swap src/assets/avatar.svg for your own square image.

2. Design tokens

Colors, radii, and type live in src/styles/global.css. Change light and dark --accent (and related tokens) and buttons, links, and selection follow.

3. Write posts

Add Markdown under src/content/blog/. Frontmatter example (YAML, not a second post):

title: Hello world
description: Up to 200 characters for lists, SEO, and RSS.
publishDate: 2026-07-21
category: notes
tags: [notes]
cover:
  src: ../../assets/posts/dawn.jpg
  alt: Cover description
  source: https://example.com/source
draft: false

Wrap that YAML in --- delimiters in real files. Set draft: true to show the post only in astro dev and hide it from production lists, archive, tags, RSS, and search.

FileUsed on
src/data/projects.jsonHome (only featured: true) and Projects
src/data/links.jsonLinks page
src/data/tools.jsonAbout tools grid

Each JSON file has a Zod adapter so invalid data fails the build early.

5. Commands

npm install
npm run dev      # http://localhost:4321
npm run build    # static site + Pagefind index
npm run preview  # serve dist/

Pagefind only has results after build / preview, not during bare dev.

6. Optional comments and activity data

Waline is included but disabled by default. To enable comments and article reactions, replace the server URL and set waline.enabled to true in site.config.ts:

waline: {
  enabled: true,
  serverURL: 'https://your-waline-server.example.com'
}

When enabled, the Links page can also use the comment thread for link exchanges.

The Projects page can show a GitHub contribution calendar. Set your username in site.config.ts, then change githubContributions.enabled to true when you want to use the public contributions API.

Author
Serene
Published

Images are sourced from the internet. Please contact me for removal if necessary.

Type to search posts and pages.

K to open · esc to close Search by Pagefind