Docs that stay yours.
Squidoc generates a static docs site with a real plugin system, theme contracts, versioned docs, custom pages, and sensible SEO defaults. Start with files on disk. Add power when the docs actually need it.
npm create squidoc@latest my-docs
cd my-docs
npm run dev
# add docs
docs/
index.md
guides/plugins.md
versions/0.1/configuration.md What you get from the first command
A Squidoc project is deliberately plain: Markdown files, one config file, static output, and packages you can replace as your site grows.
my-docs/
- docs/index.md
- docs/getting-started.md
- pages/index.astro
- public/squidoc-logo.svg
- docs.config.ts
- package.json
import { defineConfig } from "squidoc";
export default defineConfig({
site: {
name: "My Docs",
url: "https://docs.example.com",
},
docs: {
basePath: "/docs",
},
theme: {
name: "@squidoc/theme-basic",
options: {
primaryColor: "#4a54df",
},
},
}); The default site is already useful
The starter includes the pieces most docs sites need on day one. They are plugins, so teams can remove them, configure them, or replace them later.
Search
Builds a static search index and keeps versioned results labeled.
Code blocks
Adds syntax highlighting and copy buttons without forcing authors to write markup.
Article tree
Shows headings on long pages and tracks the active section while readers scroll.
SEO
Outputs canonical tags, metadata, sitemap, robots rules, and social tags.
Pages
Lets teams build homepages, changelogs, and custom landing pages with Astro.
Versions
Keeps old docs available when APIs or configuration change between releases.
Markdown first. Astro when you need more.
Most docs can stay as Markdown. When a page needs a custom layout, a chart, a product comparison, or a launch page, the pages plugin lets you write an Astro page and choose the stable page or docs layout.
Read the pages guideThemes own structure, not just colors.
Themes can move navigation, change headers and footers, decide where plugin UI appears, and provide separate layouts for docs and standalone pages. Squidoc keeps the layout contract small so theme authors know what to support.
Read the theme guideThe path to production is boring on purpose
Squidoc builds static files. That means previews are easy, CI is predictable, and the final artifact can go almost anywhere.
- Write docs Add Markdown under
docs/, or custom Astro pages underpages/. - Run checks Use
squidoc checkand browser smoke tests before publishing. - Build static output
squidoc buildproduces the files your host needs. - Deploy Ship to Vercel, Netlify, Cloudflare Pages, GitHub Pages, Docker, or S3.