On Wednesday, 6 March 2019 15:55:58 UTC+1, Rex East wrote: > > Hi, I have a Sphinx project hosted on readthedocs.org. I want a way to > link from outside websites to a particular section in my documentation. And > I need it to be stable -- currently the URLs to sections look like this: > > > https://mysite.readthedocs.io/en/latest/models.html#built-in-fields-and-methods > > > But that URL is generated from the text of the section header, "Built-in > fields and methods". The link will break if I edit the section heading or > move that section to a different file in the documentation (not models.rst). > > Inside the project, I can use cross-references like: > > .. _FOO: > > and then > > :ref:`FOO` > > Which is great, but I cannot find a way to put these cross-references in > URLs. Any suggestions? >
Assuming that the .. _FOO: label is in file models.rst, which in HTML becomes models.html, you can always reference is from the outside using https://mysite.readthedocs.io/en/latest/models.html#FOO, because any label will become an id="" in the HTML. If a particular section of the documentation is so important, add to it a label. In the case you move the content to another file, then my only idea is to keep the .. _FOO: label also in models.rst and eihter: 1) instead of the old content write something like "moved to new section" with a link or 2) add a javascript to models.html only, to (silently) redirect to the correct page. HTH, Stefano -- You received this message because you are subscribed to the Google Groups "sphinx-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sphinx-users. For more options, visit https://groups.google.com/d/optout.
