Hello guys, I wrote an extension to help myself take notes, now it release 2.0. I think it is interesting, and might helpful to other sphinx users like you, so I introduce it here.
The extension provides a domain which allows user creates directive and roles to
descibe, reference and index arbitrary object in documentation by
writing reStructuredText & Jinja templates. It is a bit like ``sphinx.application.Sphinx.add_object_type()``, but more powerful.
It also like a database: You can *give various constraints to your object*; you can list all objects with same attribute, ... In a words, **It can describe anything in a structured way**, like friend links, book notes, released versions and so on.
Next I hide all the details and only show you how to describe and reference objects in the
document. We describing objects via directives:
.. book:: The Story of Art
:publisher: Phaidon Press; 16th edition (April 9, 1995)
:isbn: 0714832472
:language: English
And we reference them via roles: We use :book:`The Story of Art` or :book.isbn:`0714832472`, even :book.language:`English` (Maybe ambiguous) to create reference to the aboved book.
You may be curious how to create such directive and roles. In short: Use python object provided by this extension, For more details, please refer to the follwing links: