diff --git a/.github/workflows/ci-sphinx.yml b/.github/workflows/ci-sphinx.yml
new file mode 100644
index 000000000..785051dbd
--- /dev/null
+++ b/.github/workflows/ci-sphinx.yml
@@ -0,0 +1,45 @@
+name: CI-sphinx
+
+# Controls when the workflow will run
+on:
+  # Triggers the workflow on push or pull request events but only for the "main" branch
+  pull_request:
+    branches:
+      - 'main'
+      - 'update-*'
+      - 'doc_patch'
+  push:
+    branches: [ 'main', 'doc_patch' ]
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  # This workflow contains a single job called "build"
+  build:
+    # The type of runner that the job will run on
+    runs-on: ubuntu-latest
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+      - uses: actions/checkout@v3
+
+      - name: Set up Python
+        uses: actions/setup-python@v3.1.0
+        with:
+          python-version: "3.x"
+
+      - name: Sphinx Build
+        # You may pin to the exact commit or the version.
+        # uses: ammaraskar/sphinx-action@8b4f60114d7fd1faeba1a712269168508d4750d2
+        uses: ammaraskar/sphinx-action@0.4
+        with:
+          # The folder containing your sphinx docs.
+          docs-folder: docs/
+          # The command used to build your documentation.
+          build-command: make html SPHINXOPTS+="-W --keep-going" #  -n"
+          # Run before the build command, you can use this to install system level dependencies, for example with "apt-get update -y && apt-get install -y perl"
+          pre-build-command: |
+            pwd
+            python --version
+            pip install -r requirements.txt
+            pip install -r docs/requirements.txt
diff --git a/docs/_static/assets/Logo.png b/docs/_static/assets/Logo.png
new file mode 100644
index 000000000..b3b8f06ad
Binary files /dev/null and b/docs/_static/assets/Logo.png differ
diff --git a/docs/conf.py b/docs/conf.py
index 592f12e13..7986d2cc2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -13,7 +13,6 @@
 
 import os
 import sys
-import sphinx_rtd_theme
 
 sys.path.insert(0, os.path.abspath('../'))
 
@@ -41,7 +40,6 @@
     'sphinx_autodoc_typehints',
     #'sphinx.ext.napoleon',
     'sphinx.ext.viewcode',
-    'sphinx_rtd_theme',
     'sphinx.ext.mathjax',
     'numpydoc',
     'myst_parser',
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 522ad88f3..4521909dd 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,7 +1,6 @@
 # File: docs/requirements.txt
 
 sphinx==4.4.0
-#sphinx_rtd_theme==1.0.0
 sphinx-book-theme
 readthedocs-sphinx-search==0.1.1
 sphinx-autodoc-typehints
diff --git a/elastica/dissipation.py b/elastica/dissipation.py
index e10b200fc..fd19fc371 100644
--- a/elastica/dissipation.py
+++ b/elastica/dissipation.py
@@ -182,7 +182,7 @@ class LaplaceDissipationFilter(DamperBase):
     minimal filtering, and thus negligible effect on the velocities.
     Values in the range of 3-7 are usually recommended.
 
-    For details regarding the numerics behind the filtering, refer to:
+    For details regarding the numerics behind the filtering, refer to [1]_, [2]_.
 
     .. [1] Jeanmart, H., & Winckelmans, G. (2007). Investigation of eddy-viscosity
        models modified using discrete filters: a simplified “regularized variational