Getting Started
site.js already linked on every page).Registering a New Entry
A class listing page (Landscapes, Entities, Groups, Phenomena) never needs hand-written cards. It calls getPrimaryEntries() (see src/lib/entries.ts), which queries every file in that collection's src/content/<class>/ folder — filtered to exclude Variants/POIs — and the page maps the results straight into cards. Add one new file and the entry appears on its listing page and joins the "Random Entry" rotation, both automatically. To create one:
- Copy
templates/entry-template.mdx(repo root) intosrc/content/landscapes/,entities/,groups/, orphenomena/. - Rename it to the entry's slug, e.g.
the-wanderers-guild.mdx. - Fill in its frontmatter and write the body in Markdown/MDX below the
---.
---
title: "The Wanderers' Guild"
tag: "Group · Faction"
description: "One-sentence teaser shown on its card."
featured: false # true also hand-picks it for the homepage
dangerLevel: 2 # every infobox field below is optional —
dangerLabel: "Uncertain" # only the ones you set actually render
---
Regular Markdown/MDX body goes here.Variants and POIs never go in as their own listing-page entry — seeRelated-Entries Sidebar for how those work instead.
Classification Badges
The badge at the top of every entry is driven by which collection folder the file lives in — the page template for that collection sets the right type-* modifier automatically. These are the five:
Class: GroupClass: Phenomenon
<span class="article-classification type-landscape">Class: Landscape</span>
<span class="article-classification type-entity">Class: Entity</span>
<span class="article-classification type-object">Class: Object</span>
<span class="article-classification type-group">Class: Group</span>
<span class="article-classification type-phenomenon">Class: Phenomenon</span>