Configuration
docia reads configuration from docia.config.ts by default.
Example:
import { defineConfig } from "docia";
export default defineConfig({
srcDir: "book",
outDir: "dist",
publicDir: "public",
basePath: "/",
prettyUrls: true,
site: {
title: "My Docs",
description: "Product and API documentation",
language: "en",
url: "https://docs.example.com",
socials: {
github: "https://github.com/acme/docs",
x: "https://x.com/acme",
},
githubEditBaseUrl: "https://github.com/acme/docs/edit/main/book",
githubEditBranch: "main",
githubEditPath: "book",
},
markdown: {
headings: { ids: true },
autolinks: true,
tables: true,
tasklists: true,
strikethrough: true,
tagFilter: true,
},
});
Core options
srcDir: source markdown rootoutDir: generated static outputpublicDir: static asset input directorybasePath: URL prefix for subpath hosting (for example/docs)prettyUrls:/chapter/style routes vs.htmlroutes
Site metadata
site.title: global site titlesite.description: default page descriptionsite.language: HTMLlangsite.url: canonical base URL used by SEO artifactssite.socials.github: optional GitHub link shown in sidebarsite.socials.x: optional X link shown in sidebarsite.githubEditBaseUrl: optional full GitHub edit URL prefix for source filessite.githubEditBranch: branch used when deriving edit links fromsite.socials.githubsite.githubEditPath: repo path to docs source (defaults tosrcDir)
Markdown options
docia uses Bun's markdown parser and supports Bun parser options via markdown.
Useful defaults are already enabled, including headings IDs and common GFM features.