在我的Sphinx .rst文档中,我有一个代码块,其中包含使用UNIX tree
命令的产品结构的树视图:
|── parent
| |── child
| |── grandchild
它在代码块中,以便Sphinx保留空白。
我希望读者能够点击每个节点,跟随internal hyperlink到描述该节点的文档部分。但是,在代码块中添加:ref:
并不起作用(见下文)。有谁知道如何实现这个目标?
这不起作用:
.. _parent:
Parent
------
Blah blah
.. _child:
Child
-----
Blah blah
.. _grandchild:
Grandchild
----------
Blah blah
则...
|── :ref:`parent`
| |── :ref:`child`
| |── :ref:`grandchild`
非常感谢任何帮助!
答案 0 :(得分:2)
您可以使用parsed-literal
指令:
.. parsed-literal::
|── :ref:`parent`
| |── :ref:`child`
| |── :ref:`grandchild`
这样可行,但是有警告消息说"警告:内联substitution_reference start-string没有结束字符串。"
垂直条被解释为substitution references的一部分。警告随着一些逃脱而消失:
.. parsed-literal::
\|── :ref:`parent`
| \|── :ref:`child`
| \|── :ref:`grandchild`
答案 1 :(得分:0)
.. code-block::
用于文字代码,除语法高亮外,不会被解析。
相反,您可以使用CSS类my-special-class
将样式应用于树,并编写类似于HTML <pre>
或<code>
的CSS样式。您还需要将|
转义为\|
,因为reST会尝试将|
解析为替换。
休息:
.. rst-class:: my-special-class
\|── :ref:`parent`
\| \|── :ref:`child`
\| \|── :ref:`grandchild`
CSS:
.my-special-class {
font-family: monospace;
white-space: pre;
}