The essentials2 min read

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.

A little more knowledge, a little further along.