Repository: Project-MONAI/MONAI

Issue:
new documentation site theme?
**Is your feature request related to a problem? Please describe.**
the current style of the documentation website is too compact and in my opinion it's not easy to read.
https://docs.monai.io/en/latest/index.html

**Describe the solution you'd like**
I had a quick setup for new sphinx themes such as:
https://monai-dev.readthedocs.io/en/new-doc-theme/

**Describe alternatives you've considered**
make customised functions to revise the current sphinx theme

**Additional context**
the new one
https://monai-dev.readthedocs.io/en/new-doc-theme/
 is also used by projects such as numpy, pandas
- https://pandas.pydata.org/docs/reference/index.html
- https://numpy.org/devdocs/reference/index.html



Discussion:

Resolving patch:
diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -11,8 +11,8 @@
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #
 import os
-import sys
 import subprocess
+import sys
 
 sys.path.insert(0, os.path.abspath(".."))
 sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")))
@@ -68,12 +68,6 @@ def generate_apidocs(*args):
     )
 
 
-def setup(app):
-    # Hook to allow for automatic generation of API docs
-    # before doc deployment begins.
-    app.connect("builder-inited", generate_apidocs)
-
-
 # -- General configuration ---------------------------------------------------
 
 # Add any Sphinx extension module names here, as strings. They can be
@@ -94,8 +88,10 @@ def setup(app):
 
 autoclass_content = "both"
 add_module_names = True
+source_encoding = "utf-8"
 autosectionlabel_prefix_document = True
 napoleon_use_param = True
+napoleon_include_init_with_doc = True
 set_type_checking_flag = True
 
 # Add any paths that contain templates here, relative to this directory.
@@ -106,29 +102,55 @@ def setup(app):
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = "sphinx_rtd_theme"
+html_theme = "pydata_sphinx_theme"
 # html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
 html_theme_options = {
+    "external_links": [{"url": "https://github.com/Project-MONAI/tutorials", "name": "Tutorials"}],
     "collapse_navigation": True,
-    "display_version": True,
-    "sticky_navigation": True,  # Set to False to disable the sticky nav while scrolling.
-    "logo_only": True,  # if we have a html_logo below, this shows /only/ the logo with no title text
-    "style_nav_header_background": "#FBFBFB",
+    "icon_links": [
+        {
+            "name": "GitHub",
+            "url": "https://github.com/project-monai/monai",
+            "icon": "fab fa-github-square",
+        },
+        {
+            "name": "Twitter",
+            "url": "https://twitter.com/projectmonai",
+            "icon": "fab fa-twitter-square",
+        },
+    ],
+    "collapse_navigation": True,
+    "navigation_depth": 3,
+    "show_toc_level": 1,
+    "footer_items": ["copyright"],
+    "navbar_align": "content",
 }
 html_context = {
-    "display_github": True,
     "github_user": "Project-MONAI",
     "github_repo": "MONAI",
     "github_version": "dev",
+    "doc_path": "docs/",
     "conf_py_path": "/docs/",
+    "VERSION": version,
 }
 html_scaled_image_link = False
 html_show_sourcelink = True
 html_favicon = "../images/favicon.ico"
 html_logo = "../images/MONAI-logo-color.png"
+html_sidebars = {"**": ["search-field", "sidebar-nav-bs"]}
+pygments_style = "sphinx"
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
 html_static_path = ["../_static"]
 html_css_files = ["custom.css"]
+html_title = f"{project} {version} Documentation"
+
+# -- Auto-convert markdown pages to demo --------------------------------------
+
+
+def setup(app):
+    # Hook to allow for automatic generation of API docs
+    # before doc deployment begins.
+    app.connect("builder-inited", generate_apidocs)
diff --git a/monai/data/image_reader.py b/monai/data/image_reader.py
--- a/monai/data/image_reader.py
+++ b/monai/data/image_reader.py
@@ -131,14 +131,16 @@ class ITKReader(ImageReader):
 
     Args:
         channel_dim: the channel dimension of the input image, default is None.
-            This is used to set `original_channel_dim` in the meta data, `EnsureChannelFirstD` reads this field.
-            If None, `original_channel_dim` will be either `no_channel` or `-1`.
-            - Nifti file is usually "channel last", so there is no need to specify this argument.
-            - PNG file usually has `GetNumberOfComponentsPerPixel()==3`, so there is no need to specify this argument.
+            This is used to set original_channel_dim in the meta data, EnsureChannelFirstD reads this field.
+            If None, original_channel_dim will be either `no_channel` or `-1`.
+
+                - Nifti file is usually "channel last", so there is no need to specify this argument.
+                - PNG file usually has `GetNumberOfComponentsPerPixel()==3`, so there is no need to specify this argument.
+
         series_name: the name of the DICOM series if there are multiple ones.
             used when loading DICOM series.
         kwargs: additional args for `itk.imread` API. more details about available args:
-            https://github.com/InsightSoftwareConsortium/ITK/blob/master/Wrapping/Generators/Python/itkExtras.py
+            https://github.com/InsightSoftwareConsortium/ITK/blob/master/Wrapping/Generators/Python/itk/support/extras.py
 
     """
 


Test patch: