I'm writing some documentation with Sphinx and I'd like to print out a certain block of text only for HTML documentation, not for LaTeX documentation. Something tells me I should be able to do this with sphinx.ext.ifconfig
but I can't figure out how. Does anyone know how to do this?
Asked
Active
Viewed 5,584 times
22
1 Answers
29
No extension is required. Just use the only
directive.
(old link, from original 2010 post)
https://web.archive.org/web/20100129001557/http://sphinx.pocoo.org/markup/misc.html#including-content-based-on-tags
(latest link)
https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#including-content-based-on-tags
It works like this:
.. only:: latex The stuff in here only appears in the latex output. .. only:: html The stuff in this block only appears in the HTML output. It's often useful to use this directive with it: .. raw:: html It's good for embedding stuff, like video.

Gino Mempin
- 25,369
- 29
- 96
- 135

ddbeck
- 3,855
- 2
- 28
- 22
-
Is it possible to discern between `singlehtml` and `html` ? – Carel Jan 11 '17 at 20:25
-
@Carel yes, with Sphinx 1.2 and later, you can distinguish between `html` and `singlehtml` by using the explicit builder tags `builder_html` and `builder_singlehtml`. – ddbeck Jan 19 '17 at 19:58
-
could you please take a look at a similar question. http://stackoverflow.com/questions/42798152/adding-custom-tag-in-sphinx – Learner Mar 15 '17 at 00:17
-
The link to the Sphinx doc on `only` is dead. See: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#including-content-based-on-tags – Gino Mempin Apr 22 '20 at 23:58