@rawsql-ts/ddl-docs-vitepress
v0.2.3
Published
Scaffold generator for VitePress-based DB schema docs powered by ddl-docs-cli
Maintainers
Readme
@rawsql-ts/ddl-docs-vitepress
A scaffold generator for VitePress-based database schema documentation sites.
This package provides the ddl-docs-vitepress init command, which creates a ready-to-use project template that:
- reads SQL files from
ddl/ - generates Markdown docs via
@rawsql-ts/ddl-docs-cli - serves/builds a VitePress site from
docs/
Generated project structure
my-db-docs/
├── .github/workflows/deploy-docs.yml # GitHub Pages deploy workflow
├── .gitignore
├── ddl/.gitkeep # Place your .sql files here
├── docs/
│ ├── index.md
│ └── .vitepress/
│ ├── config.mts
│ └── theme/
│ ├── custom.css
│ └── index.ts
├── package.json
└── scripts/run-generate.cjs # Calls ddl-docs-cli to generate MarkdownCreate a scaffold project
npx @rawsql-ts/ddl-docs-vitepress init my-db-docs
cd my-db-docs
npm installSafe-by-default init behavior
- If target directory does not exist: scaffold is created.
- If target directory exists and is empty: scaffold is created.
- If target directory exists and is not empty: command fails by default.
- Use
--forceto overwrite template paths in a non-empty directory. --forceis overwrite-only. It does not remove non-template files.- Use
--force --cleanto remove non-template files before scaffolding.
npx @rawsql-ts/ddl-docs-vitepress init existing-dir --force
npx @rawsql-ts/ddl-docs-vitepress init existing-dir --force --cleanWarning: --clean removes non-template files and directories in the target path.
Help
npx @rawsql-ts/ddl-docs-vitepress --help
npx @rawsql-ts/ddl-docs-vitepress help
npx @rawsql-ts/ddl-docs-vitepress init --helpUse the generated scaffold project
In the generated project:
- Put your
.sqlfiles underddl/. The build script applies--filter-pg-dumpautomatically, sopg_dumpoutput can be used directly — statements such asSET,ALTER ... OWNER TO, andSELECT pg_catalog.*are filtered out before parsing. - Start local development:
npm run dev- Build static docs:
npm run build- Preview the built site:
npm run previewGitHub Pages deployment
The scaffold includes .github/workflows/deploy-docs.yml which automatically builds and deploys docs to GitHub Pages on pushes to main that touch ddl/ or docs/.vitepress/. The workflow sets VITEPRESS_BASE from the repository name.
To enable it, go to your repository's Settings > Pages and set the source to GitHub Actions.
VITEPRESS_BASE for subpath hosting
The scaffold template uses process.env.VITEPRESS_BASE ?? '/' in docs/.vitepress/config.mts.
Set VITEPRESS_BASE when deploying under a subpath (for example GitHub Pages):
VITEPRESS_BASE=/my-repo/ npm run buildScripts in this package (maintainer note)
In packages/ddl-docs-vitepress itself:
pnpm buildcompiles this CLI package withtsc.- It does not build the generated VitePress docs site.
