Silica Docs

Configuration

Every option in silica.config.ts.

All of your site's settings live in silica.config.ts at the project root.

TypeScript
import { defineConfig } from "@silicajs/core";

export default defineConfig({
  title: "My Site",
  description: "Site description",
  baseUrl: "https://docs.example.com",
  theme: "default",
});

Site basics

OptionDefaultWhat it does
title"Silica"Site name in the header, metadata, and search
description"A Silica knowledge site"Default page description
logoLogo on the sign-in page (/logo.svg or a URL)
baseUrlYour public URL, used for the sitemap and sign-in
contentDir"content"Folder that holds your Markdown vault
theme"default"The site theme
OptionDefaultWhat it does
wikilinks.strategy"shortest""shortest", "absolute", or "relative"
wikilinks.strictfalseFail the build when links cannot resolve

See Links.

Tags

OptionDefaultWhat it does
tags.inlinetrueRecognize #tags written in note bodies

See Tags.

Ordering

OptionDefaultWhat it does
ordering.numericPrefixestrueUse leading numbers for ordering only

When on, files like 01_Home.md sort by their number while the number is dropped from URLs and labels. See Navigation.

Which pages get published

OptionDefaultWhat it does
filters.removeDraftstrueExclude pages with draft: true
filters.explicitPublishfalseRequire publish: true to include a page

See Drafts and publishing.

Rendering

The render block controls how pages are prerendered and what kind of build silica build produces.

OptionDefaultWhat it does
render.output"default""default" for managed platforms, "standalone" to self-host
render.prerender"all"Which pages are built ahead of time

render.output

This is the setting that decides how you ship the site:

  • "default" emits a regular Next.js build. The hosting platform's adapter (for example, Vercel) bundles the server and manages its own caching.
  • "standalone" emits a self-contained server and turns on Silica's filesystem cache handler. Use it when you self-host, for example with the included Dockerfile. Point the cache somewhere durable with render.cache.directory (defaults to a folder under the build output).
TypeScript
export default defineConfig({
  // Self-host with the included Dockerfile.
  render: { output: "standalone" },
});

See Deployment for the full picture.

render.prerender

Pages that are not prerendered are rendered on first request and then cached.

ValueWhat it does
"all"Prerender every page (the default)
"none"Render every page on demand
{ depth: N }Prerender pages up to N levels deep
{ strategy: "custom", … }Pick pages with include, exclude, and limit
TypeScript
export default defineConfig({
  render: {
    prerender: { depth: 2 },
  },
});

Authentication

Leave it off (the default) for a public site, or configure it:

TypeScript
auth: {
  provider: "google",
  allowedDomains: ["example.com"],
  allowedEmails: ["you@example.com"],
}

See Authentication.

Editing the config

Changing silica.config.ts restarts the dev server. Content-only edits reload instantly.