diff --git a/.github/workflows/buildGHPages.yml b/.github/workflows/buildGHPages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2b357b9eb237464666e677a91192509ef0c7dd23
--- /dev/null
+++ b/.github/workflows/buildGHPages.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