name: Generate Doxygen Documentation on: push: branches: [master] workflow_dispatch: permissions: contents: write pages: write id-token: write jobs: generate-docs: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Install Doxygen and Graphviz run: | sudo apt-get update sudo apt-get install -y doxygen graphviz - name: Create and Configure Doxyfile run: | doxygen -g # Update Doxyfile to apply the Doxygen Awesome theme echo "PROJECT_NAME = fbgl" >> Doxyfile echo "PROJECT_NUMBER = 0.1.0" >> Doxyfile echo "OUTPUT_DIRECTORY = docs" >> Doxyfile echo "INPUT = fbgl.h README.md" >> Doxyfile echo "HTML_OUTPUT = html" >> Doxyfile echo "USE_MDFILE_AS_MAINPAGE = README.md" >> Doxyfile echo "GENERATE_TREEVIEW = YES" >> Doxyfile echo "FULL_SIDEBAR = NO" >> Doxyfile echo "HTML_COLORSTYLE = LIGHT" >> Doxyfile # Override default Doxygen CSS with Awesome theme echo HTML_EXTRA_STYLESHEET = https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome.css https://cdn.jsdelivr.net/gh/jothepro/doxygen-awesome-css@v2.3.4/doxygen-awesome-darkmode-toggle.js" >> Doxyfile # Disable the default Doxygen stylesheet echo "DISABLE_INDEX = NO" >> Doxyfile echo "HTML_DYNAMIC_SECTIONS = YES" >> Doxyfile - name: Generate Documentation run: doxygen Doxyfile - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_branch: gh-pages publish_dir: docs/html force_orphan: true