This is the note to yourself for six months from now, when you have forgotten where things live.
A link
Open src/data/resources.yaml, copy the last entry, edit it:
- type: link
title: The thing
description: >-
One or two sentences. Say what it is and why it beats the alternative.
url: https://example.com
source: Publisher name
category: tools
tags: [free, reference]
added: 2026-09-23
Commit and push. Netlify rebuilds and the entry is live in under a minute.
A file you host
Drop the file into public/files/, then add an entry pointing at it:
- type: file
title: The template
description: What it is for and who it is for.
url: /files/the-template.pdf
format: PDF
size: 480 KB
category: templates
tags: [template]
added: 2026-09-23
Keep repository files under about 25 MB each. Anything larger — or anything
you expect to be downloaded heavily — belongs on object storage instead.
Upload it to a bucket and put the full URL in url; everything else about the
entry stays identical.
A guide
Create a new .md file in src/content/guides/. The filename becomes the
URL. Copy the frontmatter block from the top of this file and change the
values. draft: true keeps it off the site while you work on it.
When the build fails
Almost always one of two things:
- An unknown category. Categories are fixed in
src/data/categories.ts. Add it there first, then use it. - A missing required field. The error message names the entry number and the field.
Both fail at build time on purpose — a broken entry never reaches the live site, it just blocks the deploy until you fix it.