-
-
Notifications
You must be signed in to change notification settings - Fork 663
Description
Though sphinx is perfectly working with target in the local module he isn't
able to find reference target from other modules even if they are exported in
all.py. For example, if I want to link Parent from anywhere but parent.pyx, I
have to write the full path (ie. :class:`~sage.structure.parent.Parent
`)
even if it is imported in my module. I find this extremely annoying since, in
the task of improving the category doc, I'm setting up a lot of huge cross
references such as:
:meth:`Algebras.ParentMethods.algebra_generators()
<sage.categories.algebras.Algebras.ParentMethods.algebra_generators>`.
I would be very happy if I had to write only
:meth:`Algebras.ParentMethods.algebra_generators`
The following patch should solve this issue
I set up intersphinx
so that links to Python's doc are correctly
resolved. The patch
attachment: trac_9128-intersphinx_python_database-fh.patch contains Python's
crossref database downloaded from http://docs.python.org/objects.inv I'm also
using intersphinx to solve links to the reference manual from the other
documents.
New option for docbuild
I added the option --warn-links
to the documentation build command as in
sage -docbuild --warn-links reference htm
When the option is used, Sphinx will issue a warning, whenever a link is not resolved.
Extra features
Moreover, I add a reference target to every automatically created .rst
file associated to python source files. It can by used to set-up a link toward
the file and thus get the title rather than the module. For example
:ref:sage.categories.primer
setup a link to the help page with title
"Elements, parents, and categories in Sage: a (draft of) primer"
rather
than
sage.categories.primer
which you get with the link
:mod:sage.categories.primer
.
Apply both:
Note: order is irrelevant
- attachment: trac_9128-intersphinx_python_database-fh.patch
- attachment: trac_9128-sphinx_links_all-fh.patch
- attachment: trac_9128-MANIFEST-fh.patch
Depends on #11251
Depends on #12490
Depends on #12572
CC: @nthiery @nexttime @novoselt @mwhansen
Component: documentation
Keywords: Sphinx links
Author: Florent Hivert
Reviewer: Andrey Novoseltsev, Nicolas M. Thiéry
Merged: sage-5.0.beta8
Issue created by migration from https://trac.sagemath.org/ticket/9128