Files
sphinx_rtd_theme/docs/demo/api.rst
Maxim Martynov a6ed75f0d5 Do not overflow object cross references (#1369)
* Do not overflow object cross references

* Rebuild theme for https://github.com/readthedocs/sphinx_rtd_theme/pull/1369

* Adds a demo for the regression

* Mock sphinx-automodapi for now, but we can use it soon

* we can replace sphinx-automodapi demo entirely with autosummary since it uses this under the hood

* We need a python 2.7 compliant test module. Add a short-term workaround until this is removed in 2.0.

* Add comment about the terrible tox workaround

* Use a less hacky way of conditional autosummary in demo API docs

- Use `only` directive for conditional reST instead
- Drops 1.6 from our text matrix, it was deprecated in 1.0 release.
  There were issues with the conditional directive only on 1.6 for some
  reason.

Co-authored-by: Benjamin Bach <benjamin@overtag.dk>
Co-authored-by: Anthony Johnson <aj@ohess.org>
2022-11-04 11:59:17 -07:00

171 lines
3.6 KiB
ReStructuredText

***************************************
API documentation and generated content
***************************************
.. contents:: Table of Contents
:mod:`test_py_module`
=====================
.. only:: python3
.. automodule:: test_py_module.test
:members:
:private-members:
:special-members:
.. only:: python2
.. automodule:: test_py_module.test_py27
:members:
:private-members:
:special-members:
C++ API
=======
.. cpp:type:: MyType
Some type
.. cpp:function:: const MyType Foo(const MyType bar)
Some function type thing
.. cpp:class:: template<typename T, std::size_t N> std::array
Some cpp class
.. cpp:member:: float Sphinx::version
The description of Sphinx::version.
.. cpp:var:: int version
The description of version.
.. cpp:type:: std::vector<int> List
The description of List type.
.. cpp:enum:: MyEnum
An unscoped enum.
.. cpp:enumerator:: A
.. cpp:enum-class:: MyScopedEnum
A scoped enum.
.. cpp:enumerator:: B
.. cpp:enum-struct:: protected MyScopedVisibilityEnum : std::underlying_type<MySpecificEnum>::type
A scoped enum with non-default visibility, and with a specified underlying type.
.. cpp:enumerator:: B
JavaScript API
==============
.. Copied from sphinx-doc/sphinx/tests/roots
.. js:module:: module_a.submodule
* Link to :js:class:`ModTopLevel`
.. js:class:: ModTopLevel
* Link to :js:meth:`mod_child_1`
* Link to :js:meth:`ModTopLevel.mod_child_1`
.. js:method:: ModTopLevel.mod_child_1
* Link to :js:meth:`mod_child_2`
.. js:method:: ModTopLevel.mod_child_2
* Link to :js:meth:`module_a.submodule.ModTopLevel.mod_child_1`
.. js:module:: module_b.submodule
* Link to :js:class:`ModTopLevel`
.. js:class:: ModNested
.. js:method:: nested_child_1
* Link to :js:meth:`nested_child_2`
.. js:method:: nested_child_2
* Link to :js:meth:`nested_child_1`
Generated Index
===============
Part of the sphinx build process in generate and index file: :ref:`genindex`.
Optional parameter args
=======================
At this point optional parameters `cannot be generated from code`_.
However, some projects will manually do it, like so:
This example comes from `django-payments module docs`_.
.. class:: payments.dotpay.DotpayProvider(seller_id, pin[, channel=0[, lock=False], lang='pl'])
This backend implements payments using a popular Polish gateway, `Dotpay.pl <http://www.dotpay.pl>`_.
Due to API limitations there is no support for transferring purchased items.
:param seller_id: Seller ID assigned by Dotpay
:param pin: PIN assigned by Dotpay
:param channel: Default payment channel (consult reference guide)
:param lang: UI language
:param lock: Whether to disable channels other than the default selected above
.. _cannot be generated from code: https://groups.google.com/forum/#!topic/sphinx-users/_qfsVT5Vxpw
.. _django-payments module docs: http://django-payments.readthedocs.org/en/latest/modules.html#payments.authorizenet.AuthorizeNetProvide
Data
====
.. data:: Data_item_1
Data_item_2
Data_item_3
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce congue elit eu hendrerit mattis.
Some data link :data:`Data_item_1`.
Sphinx Extensions
=================
sphinx.ext.autosummary
----------------------
.. only:: python3
.. autosummary::
test_py_module.test.add_numbers
test_py_module.test.subtract_numbers
test_py_module.test.Foo
.. only:: python2
.. autosummary::
test_py_module.test_py27.add_numbers
test_py_module.test_py27.subtract_numbers
test_py_module.test_py27.Foo