我正在尝试对 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 表按原样处理数据。它们甚至没有被 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|.
表格内容中的替换也适用于 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|
将替换为包含文档中的替代定义。