Python的狮身人面像include指令:忽略从包含的文件头

问题描述 投票:0回答:1

我发现.. include::指令文本重用非常有用的:同样的部分可以在不同的文件中插入。

但与头水平的问题。

例如,如果我有part.rst与第二电平头

part.rst

Header level 2
----------------

My text to be included

并将其包含在各种头级别的不同的文件

doc 1

Header level 1
================

.. include::  part.rst

doc2

Header level 2
----------------

.. include::  part.rst

doc 3

Header level 3
~~~~~~~~~~~~~~~~~

.. include::  part.rst

这将是始终不变的水平2.无法控制它。

我读过有关sphinx.ext.ifconfig – Include content based on configuration,我可以换头与

part.rst

.. ifconfig:: hide_part_rst_title

    Header level 2
    ----------------

My text to be included

但它看起来像在许多地方文件的情况下创造很多变数。

可能有一个更优雅的方式?

如何包括但原标题中的.rst文件?如果我裁剪此我可以在这样每个地方添加页眉

.. doc 1
Header level 1
================

Included text header
---------------
.. include::  part.rst

.. doc 2
Header level 2
----------------

Included text header
======================
.. include::  part.rst

.. doc 3
Header level 3
~~~~~~~~~~~~~~~~~

Included text header
~~~~~~~~~~~~~~~~~~~~~~~
.. include::  part.rst
python python-sphinx restructuredtext
1个回答
2
投票

Sphinx documentation Directives page有用于.. include::指令没有详细说明,但目前还Including an External Document Fragment的链接。

发现有对.. include::指令的一些选项

下列选项也被识别:

start-line : integer 

只有来自该行开始的内容将被包括在内。 (正如在Python通常,第一行具有索引0和负值从末端计数)。

end-line : integer 

只有内容(但不包括)这条线将包括在内。

start-after : text to find in the external data file

只有指定的文本中第一次出现后的内容将包括在内。

end-before : text to find in the external data file

只有指定的文本(文本后,之后的任何)的第一次出现之前的内容将被包括在内。

literal : flag (empty) 

整个包括的文本被插入到文档中作为一个单一的文字块。

code : formal language (optional)

该参数和包含文件的内容传递给代码指令(对于程序列表非常有用)。 (新中docutils的0.9)

number-lines : [start line number] 

前面加上行号每行代码。可选的参数为所述第一线(defaut 1)的数量。只用代码或文学作品。 (新中docutils的0.9)

encoding : name of text encoding 

外部数据文件的文本编码。默认为文档的input_encoding。

tab-width : integer 

对硬标签的扩展空间数。负值防止硬翼片的膨胀。默认为tab_width配置设置。

随着codeliteral :class::name:被识别以及常用选项。

结合start/end-linestart-after/end-before是可能的。文本标记将在指定的行进行搜索(进一步限制所包括的内容)。

但没有例子如何使用此语法。

看着邻居raw指令尝试和现在的作品!

此代码包括:(我的标题后)从5日线part.rst

.. include::  part.rst
    :start-line: 5

或者,如果修改qazxsw POI加入了特殊的标签

part.rst

我可以用在多个文件中相同的标签包含的文件灵活

Header level 2
----------------
.. include_after_this_label

My text to be included
© www.soinside.com 2019 - 2024. All rights reserved.