Ai Docs

Configuração

Toda a configuração do AiDocs fica em ai-docs.config.ts na raiz do projeto.

Estrutura básica

import { defineConfig } from "@aiandralves/ai-docs/config";

export default defineConfig({
    title: "Minha Documentação",
    description: "Descrição do projeto.",
    docs: "./docs",
    output: "./dist/docs",
    base: "/",
});

Opções

Title (title) — obrigatório

Nome do site, exibido no header e nas meta tags.

title: "AiDocs";

Description (description)

Descrição padrão para SEO e Open Graph.

description: "Gerador de documentação estática.";

Docs (docs) — obrigatório

Caminho para a pasta com os arquivos Markdown. Padrão: ./docs.

docs: "./docs";

Output (output)

Pasta de saída do build. Padrão: ./dist/docs.

output: "./dist/docs";

Base (base)

URL base do site. Útil para deploys em subpaths (ex: GitHub Pages em /meu-repo/).

base: "/meu-repo/";

Caminho para a imagem de logo exibida no header. Se omitido, exibe um ícone genérico com o title.

logo: "/assets/logo.svg";

Favicon (favicon)

Caminho para o favicon do site.

favicon: "/assets/favicon.ico";

GitHub (github)

URL do repositório no GitHub. Se definido, exibe um ícone de GitHub no header, ao lado do alternador de tema.

github: "https://github.com/usuario/repo";

Links exibidos no header, ao lado do botão de busca.

nav: [
    { label: "GitHub", href: "https://github.com/usuario/repo" },
    { label: "npm", href: "https://npmjs.com/package/meu-pacote" },
];

Features (features)

Habilita ou desabilita funcionalidades:

features: {
    search: true,       // paleta de busca ⌘K
    darkMode: true,     // alternador de tema claro/escuro
    copyCode: true,     // botão de copiar em blocos de código
    mermaid: true,      // renderização de diagramas Mermaid
    editOnGitHub: {     // link "Editar no GitHub" no rodapé de cada página
        repo: "https://github.com/usuario/repo",
        branch: "main",
        docsDir: "docs",
    },
}

Theme (theme)

Personalizações visuais:

theme: {
    customCss: "/assets/custom.css",  // CSS extra injetado após o tema padrão
}

Frontmatter

Cada arquivo Markdown aceita frontmatter YAML para controlar sua exibição:

---
title: Título da página
description: Descrição para SEO
order: 1 # posição na sidebar (menor = primeiro)
draft: true # oculta a página do build
sidebar: false # oculta da sidebar mas ainda acessível pela URL
toc: false # desativa o sumário lateral
breadcrumb: false # desativa o breadcrumb
---