diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fd73fa61cb0b639382a6305e49bdb56ea682f233
--- /dev/null
+++ b/.github/workflows/gh-pages.yml
@@ -0,0 +1,34 @@
+name: github pages
+
+on:
+  push:
+    branches:
+      - pydoc  # Set a branch to deploy
+
+jobs:
+  deploy:
+    runs-on: ubuntu-18.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true  # Fetch Hugo themes (true OR recursive)
+          fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod
+
+      - name: Set up Python
+        uses: actions/setup-python@v2
+        with:
+          python-version: 3.8
+
+      - name: Install dependencies
+        run: |
+          python -m pip install --upgrade pip
+          pip install pydoc-markdown~=3.10.0
+
+      - name: Build
+        run: pydoc-markdown --build --site-dir public
+
+      - name: Deploy
+        uses: peaceiris/actions-gh-pages@v3
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          publish_dir: ./public