Documentation of objects.inv contents?

Skip to first unread message

Tom Diaz

Sep 23, 2022, 11:10:44 AM9/23/22
to sphinx-users
I know this has come up before, but can someone point me to a definitive document explaining how and why objects.inv is organized the way it is? 

My documentation includes a number of reference targets created by locally written Sphinx extensions.  If I dump the contents of an objects.inv from one of the books, I see a listing in this format:

[our extensions' output:]
class ns2::RSTfilename.html#dir/subdir1/RSTfilename-class
method ns2::RSTfilename.html#dir/subdir1/RSTfilename-class/-method

[Standard (?) output]
   dir/subdir1/subdir2        Link Text                : dir/subdir1/subdir2.html
   lab-name                       Link Text              : dir/filename.html#lab-name

I know from experience, trial-and-error, and a little research here that "std:doc" and "std:label" are namespaces or something of that nature.   So, I can use the entries under "std:doc" in :doc: calls like :doc:`dir/subdir1/subdir2` to get a reference to the HTML document over on the right, after the colon, with the "Link Text" used if I don't specify a different link text via :doc:`Different Text <dir/subdir1/subdir2>`.  Similarly, I can use "std:label" names in :ref: calls.


Is this documented anywhere in an official or at least authoritative way?

Is the format of objects.inv something that is standardized and maintained compatibly across Sphinx releases?

I inherited the Sphinx extensions that write the special language at the top of the file, so using that information is my problem, but I would like to be sure I understand how Sphinx itself interprets this file.


Reply all
Reply to author
0 new messages