nuartz is configured through nuartz.config.ts in your project root. If your editor has TypeScript support, it will warn you about configuration errors as you type.
Tip
Use a TypeScript-aware editor like VS Code for autocomplete and validation.
Full Config Reference
import path from "node:path"
import { defineConfig } from "nuartz"
export default defineConfig({
contentDir: path.join(process.cwd(), "content"),
homePage: "index", // "index" | "recent"
site: {
title: "My Garden",
description: "My personal notes",
baseUrl: "https://example.com",
},
features: {
wikilinks: true,
callouts: true,
tags: true,
backlinks: true,
toc: true,
search: true,
darkMode: true,
},
nav: {
links: [
{ label: "GitHub", href: "https://github.com/user/repo", external: true },
],
},
})Options
contentDir
Path to the directory containing your Markdown files. Defaults to content/ in the project root.
homePage
Controls what is shown at /:
| Value | Behaviour |
|---|---|
"index" (default) | Renders content/index.md as a normal page. Falls back to recent notes if the file doesn't exist. |
"recent" | Shows a listing of all notes sorted by date frontmatter (most recent first). |
homePage: "index" // show content/index.md
homePage: "recent" // show recent notes listsite
| Field | Type | Description |
|---|---|---|
title | string | Site title, shown in the header and used in RSS/meta tags. |
description | string | Site description for SEO and link previews. |
baseUrl | string | Canonical URL of your deployed site (used for RSS, sitemap, OG tags). |
features
Toggle individual features on or off:
| Feature | Default | Description |
|---|---|---|
wikilinks | true | Wikilink syntax support ([[note]]). |
callouts | true | Obsidian-style callouts (> [!type]). |
tags | true | Tag pages and inline #tag support. |
backlinks | true | Show which notes link to the current page. |
toc | true | Auto-generated table of contents from headings. |
search | true | Full-text search with Cmd+K / Ctrl+K. |
darkMode | true | Dark/light theme toggle. |
nav
Configure the navigation bar:
nav: {
links: [
{ label: "GitHub", href: "https://github.com/...", external: true },
{ label: "About", href: "/about" },
],
}label: Display text for the link.href: URL (relative for internal, absolute for external).external: Settrueto open in a new tab with an external link icon.
Hot Reload
Changes to nuartz.config.ts are picked up automatically during development — no restart needed.