reStructuredText 替换

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

我正在尝试对 Sphinx 中的

csv-table
指令加载的文件进行替换。 我的想法是做这样的事情:

.. csv-table:: My CSV Table
:header: "Column 1", "Column 2"
:file: some/path/|branch|/to/file_|version|.csv

它似乎既不替换分支也不替换版本。

我尝试在我想要替换的变量周围添加空格,如这个问题的答案一样。

我还尝试(没有成功)在conf.py中创建一个具有外部完整路径的变量,如下所示:

rst_prolog = f"""    
.. |my_csv_file| replace:: ../path/{git_branch}/to/file_{version}.csv
"""

然后将其导入为:

.. csv-table:: My CSV Table
    :header: "Column 1", "Column 2"
    :file: | my_csv_file |

有什么方法(如果可能的话不使用自定义指令)来实现这一点?

csv python-sphinx substitution restructuredtext
2个回答
1
投票

CSV 表按原样处理数据。它们甚至没有被 gettext 选取来进行翻译。

我建议您使用列表表或网格(绘制)表。它既可与

|subtitution|
配合使用,又可本地化。

.. |project-name| replace:: SuperSecretProject

.. list-table::
   :header-rows: 1
   :widths: auto

   * - Parameter
     - Description

   * - ``UserId``
     - ID of allowed user that can enter |project-name|.

0
投票

表格内容中的替换也适用于 csv 表:

.. |column-2| replace:: Description
.. |project-name| replace:: SuperSecretProject

.. csv-table:: My CSV Table
    :header: Parameter,   |column-2|

    ``N``     ,  number of parrots
    ``UserID``,  ID of allowed user that can enter |project-name|

您也可以保存

``N``     ,  number of parrots
``UserID``,  ID of allowed user that can enter |project-name|

到文件

mytable.csv
,说并将其加载到主文档中

.. |column-2| replace:: Description
.. |project-name| replace:: SuperSecretProject

.. csv-table:: My CSV Table
    :header: Parameter,   |column-2|
    :file: mytable.csv

|project-name|
将替换为包含文档中的替代定义。

© www.soinside.com 2019 - 2024. All rights reserved.