Sphinx Domain for Describing Anything

19 views
Skip to first unread message

Shengyu Zhang

unread,
Jun 4, 2021, 11:22:11 PM6/4/21
to sphinx-users
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:

Reply all
Reply to author
Forward
0 new messages