diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2b357b9eb237464666e677a91192509ef0c7dd23
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,48 @@
+name: Build GitHub Pages
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - './**'
+ workflow_dispatch:
+permissions:
+ contents: write
+ pages: write
+ id-token: write
+
+jobs:
+ build_mkdocs:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.9
+ - run: pip install -r requirements.txt
+ - run: mkdocs gh-deploy --config-file mkdocs.yml --force
+
+ deploy_mkdocs:
+ needs: build_mkdocs
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: gh-pages
+ - name: Setup Pages
+ uses: actions/configure-pages@v5
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: '.'
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4