Documentation site for ImaginePDF, served at docs.imaginepdf.com.
Built with Nextra 4 (Next.js App Router), statically
exported, and deployed to GitHub Pages by GitHub Actions on every push to
main.
npm install
npm run dev # http://localhost:3000Content lives in content/ as MDX. Sidebar order is controlled by the
_meta.js file in each directory.
npm run build # next build → out/, then Pagefind indexes out/_pagefindThe static site lands in out/. npm run build runs next build
(output: 'export') followed by the postbuild Pagefind step that generates
the search index.
Pushing to main triggers .github/workflows/deploy.yml, which builds the site
and publishes out/ to GitHub Pages. public/CNAME pins the custom domain and
public/.nojekyll ensures the _next/ and _pagefind/ directories are served.
- Create the public repo
imaginepdf-docsunder the org and push this folder tomain. - Repo Settings → Pages → Source: GitHub Actions.
- Repo Settings → Pages → Custom domain:
docs.imaginepdf.com. Enable Enforce HTTPS once the certificate provisions. - DNS: add a
CNAMErecorddocs→<org>.github.ioat the imaginepdf.com DNS provider.
- Add a page: create
content/<section>/<page>.mdxand add its slug to the section's_meta.js. - Use Nextra components (e.g.
Callout) by importing them fromnextra/componentsat the top of the MDX file. - Brand rule: always write ImaginePDF in user-facing copy — never "PDFCanva".