Axerity

The config file

The whole site is configured from one file at the project root: axerity.json. You never edit code to change the site. Drop in Markdown, set up your meta.json files for ordering, and edit axerity.json for everything global.

Editor autocomplete

The repo ships a JSON schema. Point your config at it on the first line and your editor gives you autocomplete and validation for every field:

axerity.json
{	"$schema": "./axerity.schema.json"}

A full example

axerity.json
{	"$schema": "./axerity.schema.json",	"name": "Axerity",	"description": "A documentation site generator built with Svelte.",	"url": "https://axerity.com",	"github": "https://github.com/your/repo",	"editLink": "https://github.com/your/repo/edit/main/src/content/docs",	"theme": "stripe",	"layout": "boxed",	"sidebar": { "variant": "floating" },	"logo": { "light": "/logo-light.svg", "dark": "/logo-dark.svg" },	"og": { "enabled": true },	"banner": { "text": "v1.0 is out", "href": "/docs", "id": "v1", "dismissible": true },	"versions": [{ "label": "v1.0", "href": "/docs" }],	"dropdowns": [		{			"label": "Guides",			"icon": "book-open",			"href": "/docs",			"match": "/docs",			"tabs": [{ "title": "Documentation", "href": "/docs", "match": "/docs" }]		}	],	"sidebarLinks": [{ "title": "Support", "href": "https://example.com/support" }],	"social": [{ "icon": "rss", "href": "/rss.xml" }],	"footer": { "note": "Built with Axerity", "links": [{ "title": "Status", "href": "/status" }] },	"analytics": { "plausible": "axerity.com" },	"topNav": [{ "title": "Docs", "href": "/docs" }]}

Fields

Field Type What it does
name string Site name, used in the page title and navbar
description string Site description, used for SEO and llms.txt
url string Canonical site URL; enables absolute links in sitemap, RSS, and OpenGraph
github string Repo URL, shown as the GitHub icon in the navbar and footer
editLink string Base URL for the “Edit this page” link; the source path is appended
theme string A built-in theme preset
brand object Custom { accent, radius } that override the theme. See Colors
layout string flat (default) or boxed. See Layouts
basePath string Serve the whole site under a sub-path like /docs. Empty (default) is the root
sidebar object Sidebar appearance: { "variant": "flush" | "card" | "floating" }
logo object Navbar logo { light, dark, alt, href }. Local SVGs are inlined
og object Per-page OpenGraph image generation { enabled, background, foreground, … }
ogImage string Static OG image path, used when og.enabled is off
banner object Announcement bar { text, href, id, dismissible }
analytics object { plausible, googleAnalytics } scripts injected on every page
topNav array Fallback top nav links when no dropdowns are set
versions array Versions shown in the navbar version switcher
dropdowns array Areas that swap the whole sidebar. See Navigation
openapi string, object, or array Generate an API reference from an OpenAPI spec. See API reference
sidebarLinks array Links pinned to the bottom of the sidebar
social array Social links shown in the footer { icon, href, label }
footer object Footer { note, links }

Every field except name and topNav is optional. Leave a field out and the related UI does not render.

Icons

Anywhere a config field takes an icon, use a Lucide icon name in kebab case, such as book-open, credit-card, or git-branch. Any Lucide icon works, so you never register icons by hand.