Personal site — silkevdb.github.io
Built with Astro 5 + Tailwind v4 + GitHub Pages.
bun install
bun dev # dev server at http://localhost:4321
bun run build # production build to dist/
bun run check # TypeScript + Astro diagnosticsCreate a file in src/content/feed/ named YYYY-MM-DD-slug.md. The date in the filename is used as the entry date if no date field is set in frontmatter.
---
type: thought
---
Your content here.Required: type — one of poem, sketch, photo, thought, link, fragment, quote, note.
Optional fields:
| Field | Use |
|---|---|
title |
Shown as a heading; for link type, becomes the external link text |
date |
Overrides the filename date (YYYY-MM-DD) |
description |
Body text shown on feed cards |
url |
Required for link type — the external URL |
image |
For photo / sketch — displayed full-width |
Adding a new type value automatically creates a /feed/[type] filter page on the next build.
Create a file in src/content/essays/ named anything (convention: YYYY-MM-DD-slug.mdx).
---
title: "Your Essay Title"
date: 2026-05-27
themes: ["intelligence-and-ai"]
description: "A one-sentence summary shown in listings."
status: seedling
---
Your essay content in MDX.Required: title, date, themes (array of theme slugs — see below).
Optional: description, status (draft | seedling | budding | evergreen).
Essays with status: draft are excluded from all listings and pages — use this to hide work in progress.
Available theme slugs:
| Slug | Label |
|---|---|
intelligence-and-ai |
Intelligence and AI |
mind-and-body |
Mind and body |
ecology-and-nature |
Ecology and nature |
meaning-and-creation |
Meaning and creation |
An essay can belong to multiple themes: themes: ["intelligence-and-ai", "mind-and-body"].
Edit src/content/about.mdx — plain Markdown/MDX, no frontmatter needed. Changes appear at /about.
Edit src/content/cv.mdx. The page has these sections:
- Experience
- Education
- Skills
- Certifications
- Languages
Use <h2 id="section-name">Section name</h2> for anchor-linkable headings.
- Site URL:
astro.config.mjs→site - Page titles use the pattern
{title} — Silke Van den Broeck— change the suffix insrc/layouts/Layout.astro - Default meta description:
src/layouts/Layout.astro→descriptionprop default - Custom domain:
public/CNAME
Colors, fonts, and content widths live in src/styles/global.css in the @theme block:
@theme {
--color-charcoal: #2a2d2b;
--color-paper: #f4f5f5;
--color-lavender: #d8c5e8;
--color-pink: #ff4da6;
--font-heading: "Raleway", sans-serif;
--font-body: "Open Sans", sans-serif;
}These generate Tailwind utility classes (bg-paper, text-pink, font-heading, etc.).
Deployment is automatic. Pushing to main triggers the GitHub Actions workflow at .github/workflows/deploy.yml, which builds the site and publishes it to GitHub Pages.
Steps for the first deploy:
- Go to the repo → Settings → Pages
- Set Source to GitHub Actions
- Push to
main— the workflow runs and the site goes live athttps://silkevdb.github.io
Custom domain: add your domain to public/CNAME and configure your DNS to point to GitHub Pages. Update site in astro.config.mjs to match.
Manual deploy (if needed):
bun run build # outputs to dist/Then upload dist/ to any static host (Netlify, Vercel, Cloudflare Pages, etc.).