2017-06-13 3 views
6

私はUNIX treeコマンドを使用して、私の物の構造のツリービューを含むコードブロックを持っている:内部参照をコードブロックに含めるにはどうすればよいですか?私のスフィンクス.rst文書で

|── parent 
    |   |── child 
    |    |── grandchild 

スフィンクスは空白を保持するように、それは、コードブロックにあります。

各ノードをクリックして、そのノードを説明するドキュメントの部分にinternal hyperlinkを続けることができるようにします。ただし、コードブロック内に:ref:を追加しても機能しません(下記参照)。誰もこれを達成する方法を知っていますか?

これは動作しません。そして、

.. _parent: 

Parent 
------ 
Blah blah 

.. _child: 

Child 
----- 
Blah blah 

.. _grandchild: 

Grandchild 
---------- 
Blah blah 

...:

|── :ref:`parent` 
| |── :ref:`child` 
|  |── :ref:`grandchild` 

任意の助けをいただければ幸いです!

.. parsed-literal:: 

    |── :ref:`parent` 
    | |── :ref:`child` 
    |  |── :ref:`grandchild` 

これは動作しますが、言って警告メッセージがあります。

答えて

3

あなたはparsed-literalディレクティブを使用することができ、「WARNING:インラインの開始文字列をsubstitution_referenceエンド文字列なし」を

垂直バーは、substitution referencesの一部として解釈されます。警告は、いくつかのエスケープと離れて行く:

.. parsed-literal:: 

    \|── :ref:`parent` 
    | \|── :ref:`child` 
    |  \|── :ref:`grandchild` 
1

.. 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; 
} 
関連する問題