Organizing your pages
A collection should be easy to explore. Devigner uses your files and a small amount of metadata to build its navigation.
Files become URLs
A file at src/content/notes/a-good-idea.md becomes /notes/a-good-idea. A folder’s index.md uses the folder path, so notes/index.md becomes /notes.
File names should be lowercase, with hyphens between words. Each page needs a unique URL; avoid creating both notes.md and notes/index.md.
Add a little context
The optional YAML block at the top of a file is called frontmatter.
---
title: A good idea
description: Something worth remembering.
category: Journal
order: 4
date: '2026-10-25'
---
| Field | What it does |
|---|---|
title |
The title used in navigation and cards |
description |
A short introduction on the home page |
category |
The group in the sidebar |
order |
Sort position; smaller numbers come first |
date |
An optional date, written as a quoted YYYY-MM-DD string |
If you omit frontmatter, the first level-one heading becomes the title and the page joins the Notes group.
Find things quickly
The search field filters pages by title, description, and content. Use it when your collection starts to grow.
Build and share
Run npm run build to create the production site in dist/. Run npm run preview to check the result locally.
Each Markdown page is rendered into its own HTML file, so visitors and search engines can read it without JavaScript. Set SITE_URL when building to include canonical URLs and a sitemap; GitLab Pages supplies its URL automatically. Serve each page’s index.html, and use 404.html for unknown paths. Rebuild to publish file changes.