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:

OutputUse case
docs/distDefault. Keeps source in docs/, built site in docs/dist/
docsGitHub Pages "Deploy from a branch" with /docs folder (overwrites source)
distFlat build output
buildAlternative 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):

  1. Go to your repo Settings → Pages
  2. Set Source to "GitHub Actions"
  3. The workflow builds and deploys automatically on each push

Deploy from a branch:

  1. Set Source to "Deploy from a branch"
  2. Set Branch to main and folder to /docs (or your output-dir)
  3. Use a workflow that commits the built output instead of deploying via Actions