Repository: sunpy/sunpy

Issue:
Enable sphinx-hoverxref in the documentation
### Describe the feature

From their docs: 

> `sphinx-hoverxref` is a [Sphinx](https://www.sphinx-doc.org/en/master/index.html) extension to show a floating window (tooltips or modal dialogues) on the cross references of the documentation embedding the content of the linked section on them. With sphinx-hoverxref, you don’t need to click a link to see what’s in there.

To see an example in use, try hovering over links to code objects on [this page in PlasmaPy's docs](https://docs.plasmapy.org/en/stable/formulary/speeds.html).  It's possible to configure this with intersphinx so that floating windows show up for Astropy & NumPy objects too.

### Proposed solution

Info on how to set this up is on their [installation](https://sphinx-hoverxref.readthedocs.io/en/latest/installation.html), [usage](https://sphinx-hoverxref.readthedocs.io/en/latest/usage.html), and [configuration](https://sphinx-hoverxref.readthedocs.io/en/latest/configuration.html) pages.  For an example of it in use, seach PlasmaPy's [`docs/conf.py`](https://github.com/PlasmaPy/PlasmaPy/blob/main/docs/conf.py) for `hoverxref`.


Discussion:
Thanks for the suggestion @namurphy this looks super cool.
Wow this looks great! I'm very much in favor of adding this extension.

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -38,6 +38,7 @@
 from sunpy.util.exceptions import SunpyDeprecationWarning, SunpyPendingDeprecationWarning  # NOQA
 from matplotlib import MatplotlibDeprecationWarning  # NOQA
 from astropy.utils.exceptions import AstropyDeprecationWarning  # NOQA
+
 # -- Project information -------------------------------------------------------
 project = 'SunPy'
 author = 'The SunPy Community'
@@ -114,6 +115,7 @@
     "sphinxext.opengraph",
     'sphinx_design',
     'sphinx_copybutton',
+    'hoverxref.extension',
 ]
 
 # Set automodapi to generate files inside the generated directory
@@ -201,6 +203,45 @@
     "hvpy": ("https://hvpy.readthedocs.io/en/latest/", None),
 }
 
+# -- Options for hoverxref -----------------------------------------------------
+# adapted from sphinx-hoverxref conf.py
+if os.environ.get("READTHEDOCS"):
+    # Building on Read the Docs
+    hoverxref_api_host = "https://readthedocs.org"
+
+    if os.environ.get("PROXIED_API_ENDPOINT"):
+        # Use the proxied API endpoint
+        # - A RTD thing to avoid a CSRF block when docs are using a
+        #   custom domain
+        hoverxref_api_host = "/_"
+
+hoverxref_tooltip_maxwidth = 600  # RTD main window is 696px
+hoverxref_auto_ref = True
+hoverxref_mathjax = True
+
+# hoverxref has to be applied to these
+hoverxref_domains = ["py"]
+#hoverxref_roles = ["confval", "term"]
+
+hoverxref_role_types = {
+    # roles with py domain
+    "attr": "tooltip",
+    "class": "tooltip",
+    "const": "tooltip",
+    "data": "tooltip",
+    "exc": "tooltip",
+    "func": "tooltip",
+    "meth": "tooltip",
+    "mod": "tooltip",
+    "obj": "tooltip",
+    #
+    # roles with std domain
+    "confval": "tooltip",
+    "hoverxref": "tooltip",
+    "ref": "tooltip",
+    "term": "tooltip",
+}
+
 # -- Options for HTML output ---------------------------------------------------
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.


Test patch: