[READ-ONLY] Mirror of https://github.com/flo-bit/tiny-docs. quick setup, simple, minimalistic docs for your github project flo-bit.dev/tiny-docs/
0

Configure Feed

Select the types of activity you want to include in your feed.

tiny-docs / .github / workflows / tiny-docs.yml
2.7 kB 97 lines
1name: Tiny Docs (Reusable) 2 3on: 4 workflow_call: 5 inputs: 6 tiny_docs_repo: 7 description: "Owner/Repo of your tiny-docs source" 8 required: false 9 type: string 10 default: flo-bit/tiny-docs 11 site: 12 description: "Docs site domain (default: https://<owner>.github.io)" 13 required: false 14 type: string 15 base: 16 description: "Docs base path (default: /<repo-name>)" 17 required: false 18 type: string 19 name: 20 description: "Project name (default: <repo-name>)" 21 required: false 22 type: string 23 24permissions: 25 contents: read 26 pages: write 27 id-token: write 28 29jobs: 30 build: 31 runs-on: ubuntu-latest 32 steps: 33 - name: Checkout target repository 34 uses: actions/checkout@v4 35 36 - name: Ensure docs-builder exists (checkout tiny-docs if missing) 37 if: ${{ hashFiles('docs-builder/**') == '' }} 38 uses: actions/checkout@v4 39 with: 40 repository: ${{ inputs.tiny_docs_repo }} 41 path: docs-builder 42 43 - name: Derive defaults (owner/repo → site/base/name) 44 id: derive 45 shell: bash 46 env: 47 IN_SITE: ${{ inputs.site }} 48 IN_BASE: ${{ inputs.base }} 49 IN_NAME: ${{ inputs.name }} 50 run: | 51 set -euo pipefail 52 OWNER="${GITHUB_REPOSITORY%/*}" 53 REPO="${GITHUB_REPOSITORY#*/}" 54 55 SITE_DEFAULT="https://${OWNER}.github.io" 56 BASE_DEFAULT="/${REPO}" 57 NAME_DEFAULT="${REPO}" 58 59 SITE="${IN_SITE:-}" 60 BASE="${IN_BASE:-}" 61 NAME="${IN_NAME:-}" 62 63 SITE="${SITE:-$SITE_DEFAULT}" 64 BASE="${BASE:-$BASE_DEFAULT}" 65 NAME="${NAME:-$NAME_DEFAULT}" 66 67 echo "site=$SITE" >> "$GITHUB_OUTPUT" 68 echo "base=$BASE" >> "$GITHUB_OUTPUT" 69 echo "name=$NAME" >> "$GITHUB_OUTPUT" 70 71 - name: Setup Node.js 72 uses: actions/setup-node@v4 73 with: 74 node-version: 20 75 76 - name: Ensure docs/config.json has required fields (merge w/ defaults) 77 env: 78 DERIVED_SITE: ${{ steps.derive.outputs.site }} 79 DERIVED_BASE: ${{ steps.derive.outputs.base }} 80 DERIVED_NAME: ${{ steps.derive.outputs.name }} 81 run: node scripts/update-config.js 82 83 - name: Install, build, and upload the site artifact 84 uses: withastro/action@v3 85 with: 86 path: docs-builder/ 87 88 deploy: 89 needs: build 90 runs-on: ubuntu-latest 91 environment: 92 name: github-pages 93 url: ${{ steps.deployment.outputs.page_url }} 94 steps: 95 - name: Deploy to GitHub Pages 96 id: deployment 97 uses: actions/deploy-pages@v4