GitHub Actions
Docit includes a reusable workflow for building and deploying docs on push.
Output directory
Set DOCIT_OUTPUT_DIR (or the workflow's output-dir input) to control where the built site is written. Common choices:
| Output | Use case |
|---|---|
docs/dist | Default. Keeps source in docs/, built site in docs/dist/ |
docs | GitHub Pages "Deploy from a branch" with /docs folder (overwrites source) |
dist | Flat build output |
build | Alternative build output |
base-path: For GitHub Pages project sites (username.github.io/repo-name), set base-path: /repo-name so assets load correctly.
Option A: Reusable workflow (monorepo)
When docit lives at packages/laravel-docit, add to .github/workflows/docs.yml:
name: Build and Deploy Docs
on:
push:
branches: [main]
workflow_dispatch:
jobs:
build:
uses: ./packages/laravel-docit/.github/workflows/build-docs.yml
with:
docit-path: packages/laravel-docit
output-dir: docs/dist
permissions:
contents: write
pages: write
id-token: write
Option B: Inline workflow (Composer-installed)
When docit is installed via Composer, create .github/workflows/docs.yml:
name: Build and Deploy Docs
on:
push:
branches: [main]
workflow_dispatch:
jobs:
build:
uses: ChrisThompsonTLDR/laravel-docit/.github/workflows/build-docs.yml@main
with:
docit-path: vendor/christhompsontldr/laravel-docit
output-dir: docs/dist
permissions:
contents: write
pages: write
id-token: write
GitHub Pages setup
GitHub Actions (recommended):
- Go to your repo Settings → Pages
- Set Source to "GitHub Actions"
- The workflow builds and deploys automatically on each push
Deploy from a branch:
- Set Source to "Deploy from a branch"
- Set Branch to
mainand folder to/docs(or youroutput-dir) - Use a workflow that commits the built output instead of deploying via Actions