Skip to content

Commit

Permalink
Fix doc issue where parameters listed twice in description (#916)
Browse files Browse the repository at this point in the history
* Update sphinx pin to version 4.4.0
* Remove sphinx extension sphinx_autodoc_typehints
  • Loading branch information
lorenzncode authored Mar 26, 2022
1 parent 3efb080 commit ee90f2c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 9 deletions.
31 changes: 25 additions & 6 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@
# sys.path.insert(0, os.path.abspath('.'))


def setup(app):
app.add_css_file("tables.css")


# -- General configuration -----------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand All @@ -40,14 +36,15 @@ def setup(app):
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
"sphinx.ext.autodoc",
"sphinx_autodoc_typehints",
"sphinx.ext.viewcode",
"sphinx.ext.autosummary",
"cadquery.cq_directive",
"sphinx.ext.mathjax",
]

always_document_param_types = True
autodoc_typehints = "both"
autodoc_typehints_description_target = "all"
autodoc_typehints_format = "short"

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
Expand Down Expand Up @@ -288,3 +285,25 @@ def setup(app):

# How to display URL addresses: 'footnote', 'no', or 'inline'.
# texinfo_show_urls = 'footnote'


def process_docstring_insert_self(app, what, name, obj, options, lines):
"""
Insert self in front of documented params for instance methods
"""

if (
what == "method"
and getattr(obj, "__self__", None) is None
and "self" in obj.__annotations__
):
for i, dstr in enumerate(lines):
if dstr.startswith(":param"):
lines.insert(i, ":param self:")
break


def setup(app):

app.add_css_file("tables.css")
app.connect("autodoc-process-docstring", process_docstring_insert_self)
3 changes: 2 additions & 1 deletion doc/primer.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
.. _3d_cad_primer:

.. _cadquery_concepts:

CadQuery Concepts
===================================

Expand Down Expand Up @@ -274,7 +275,7 @@ knowledge of the different C++ libraries to be able to achieve what you want. To
The package name of any class is written at the top of the documentation page. Often it's written in the class name itself as a prefix.

Going back and forth between the APIs
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

While the 3 APIs provide 3 different layer of complexity and functionality you can mix the 3 layers as you wish.
Below is presented the different ways you can interact with the different API layers.
Expand Down
3 changes: 1 addition & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ dependencies:
- ipython
- ocp=7.5.1
- pyparsing>=2.1.9
- sphinx=3.2.1
- sphinx=4.4.0
- sphinx_rtd_theme
- sphinx-autodoc-typehints
- black=19.10b0
- mypy
- codecov
Expand Down

0 comments on commit ee90f2c

Please sign in to comment.