Add interactive API explorer documentation and screenshot support #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Build the web edition of the manual and publish it to GitHub Pages. | |
| # | |
| # One-time setup: repo Settings → Pages → "Build and deployment" → Source = | |
| # "GitHub Actions". After that, every push to main that touches manual content | |
| # rebuilds and republishes the site automatically. You can also run it on demand | |
| # from the Actions tab (workflow_dispatch). | |
| name: Deploy web manual | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "chapters/**" | |
| - "images/**" | |
| - "mkdocs.yml" | |
| - "tools/build-web.sh" | |
| - "tools/webify.py" | |
| - "generate-web.sh" | |
| - ".github/workflows/deploy-web.yml" | |
| workflow_dispatch: | |
| # Permissions the deploy-pages action needs. | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Only one Pages deployment at a time; newer pushes supersede in-flight ones. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.x" | |
| # CI installs from PyPI (the local ./install.sh uses the apt packages on the | |
| # FPP OS image); both give the same libraries. pillow + pyyaml are needed to | |
| # bake the screenshot annotations (annotations/); without them the build | |
| # fails loudly rather than shipping un-annotated images. | |
| - run: pip install mkdocs-material pillow pyyaml | |
| - run: ./generate-web.sh | |
| - uses: actions/upload-pages-artifact@v5 | |
| with: | |
| path: web/site | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - id: deployment | |
| uses: actions/deploy-pages@v5 |