Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sphinx 新Sphinx生成器和扩展?_Python Sphinx - Fatal编程技术网

Python sphinx 新Sphinx生成器和扩展?

Python sphinx 新Sphinx生成器和扩展?,python-sphinx,Python Sphinx,在我以错误的方向运行之前,如果向Sphinx添加新的输出格式,是否必须向所有现有Sphinx扩展添加特殊情况代码 例如,我看到“todo”扩展似乎尝试使用警告,但必须有特殊情况的latex代码-我是否必须对可能使用的每个扩展都执行类似的操作,除非我可以执行类似的jiggery扑克来重用现有的格式功能?所有使用Sphinx函数的扩展都需要调整以覆盖新的输出格式。否则,新的输出格式生成器将无法处理自定义节点。不过,您仍然应该能够构建 不过,让我澄清以下几点: 并非所有扩展都使用add\u node

在我以错误的方向运行之前,如果向Sphinx添加新的输出格式,是否必须向所有现有Sphinx扩展添加特殊情况代码


例如,我看到“todo”扩展似乎尝试使用警告,但必须有特殊情况的latex代码-我是否必须对可能使用的每个扩展都执行类似的操作,除非我可以执行类似的jiggery扑克来重用现有的格式功能?

所有使用Sphinx函数的扩展都需要调整以覆盖新的输出格式。否则,新的输出格式生成器将无法处理自定义节点。不过,您仍然应该能够构建

不过,让我澄清以下几点:

  • 并非所有扩展都使用
    add\u node()
  • 在许多情况下,您应该能够为新的输出格式注册一个已经存在的函数,就像中一样
  • 通过在项目的
    conf.py
    文件末尾重新注册节点,您应该能够覆盖所使用扩展的
    add_node()
    注册,而无需修改扩展的源代码
如果您没有得到答案,建议您通过他们的官方支持渠道询问:,#FreeNode上的sphinx文档频道,或者打开一个问题,否则会有文档。您是这样说的吗?扩展可以创建新节点,并且可以为标准Sphinx构建器添加对这些节点的支持。新的构建者可以实现他们自己版本的visit/defect\u New\u node()方法来改进他们自己的输出。因此,扩展可能定义构建器不支持的新节点(Sphinx默认为“文本”输出),构建器可能为用户不需要的扩展实现访问/离开方法。扩展应仅包含标准Sphinx建筑商的参观/离开。