Sphinx 1.8

发布 1.8.6 (发布于 2021 年 11 月 18 日)

依赖项

  • #9807: 将 Docutils 限制在 0.17.x 或更旧版本

发布 1.8.5 (发布于 2019 年 3 月 10 日)

修复的 Bug

  • LaTeX: 移除 PDF 标题页作者姓名后的多余空格 (参考: #6004)

  • #6026: LaTeX: 定义列表的交叉引用不起作用

  • #6046: LaTeX: 给定无效 latex_elements 时抛出 TypeError

  • #6067: LaTeX: 带有目标的图像与下一行连接

  • #6067: LaTeX: 带有目标的图像即使指定了也不对齐

  • #6149: LaTeX: 标题中的 :index: 角色在 latexpdf 构建时导致 Use of \@icentercr doesn't match its definition 错误

  • #6019: imgconverter: 包含多页 PDF 失败

  • #6047: autodoc: autofunction 对方法对象发出警告

  • #6028: graphviz: 确保 graphviz 文件名可重现

  • #6068: doctest: skipif 选项可能会从文档中删除代码块

  • #6136: math 指令的 :name: 选项导致崩溃

  • #6139: intersphinx: 报告失败时出现 ValueError

  • #6135: changes: 修复找到任何模块时 UnboundLocalError

  • #3859: manpage: 代码块标题显示不正确

发布 1.8.4 (发布于 2019 年 2 月 3 日)

修复的 Bug

  • #3707: latex: 没有粗体对勾 (✔) 可用。

  • #5605: 文档语言设置为中文时,无法搜索英文单词。

  • #5889: LaTeX: 用户 numfig_format 被去除空格,可能导致构建失败

  • C++: 修复涉及 east cv-qualifiers 的声明的超链接。

  • #5755: C++: 修复返回类型中带有约束的函数模板的重复声明错误。

  • C++: 解析一元右折叠表达式和二元折叠表达式。

  • pycode 无法处理 Windows 上的 egg 文件

  • #5928: 运行构建时 KeyError: ‘DOCUTILSCONFIG’

  • #5936: LaTeX: 警示框中包含高度超过页面高度的图像导致 PDF 构建中断

  • #5231: “make html” 不读取和构建 “locale” 目录中的 “po” 文件

  • #5954: :scale: 图像选项如果图像在警示框中可能会破坏 PDF 构建

  • #5966: MathJax 在增量构建时未加载

  • #5960: LaTeX: 自 2018 年 9 月 TeXLive 更新 parskip.sty 后修改了 PDF 布局

  • #5948: LaTeX: 为章节生成重复的标签

  • #5958: versionadded 指令导致 Python 3.5.0 崩溃

  • #5995: autodoc: autodoc_mock_imports 与 Python 3.7 上的元类冲突

  • #5871: texinfo: 不允许章节标题 .

发布 1.8.3 (发布于 2018 年 12 月 26 日)

新增功能

  • LaTeX: 可以插入自定义内容显示在标题页背面,请参阅 latex_elements'maketitle' 键的讨论 (仅限于 'manual' docclass)

修复的 Bug

  • #5725: mathjax: 默认使用 CDN URL 获取“最新”版本

  • #5460: HTML 搜索不适用于某些第三方主题

  • #5520: LaTeX, 自 Sphinx 1.6 以来与 caption 包不兼容

  • #5614: autodoc: 导入内置模块时增量构建损坏

  • #5627: qthelp: QtHelp 中缺少 index.html

  • #5659: linkcheck: 包含多字节字符的超链接崩溃

  • #5754: DOC: 修复 LaTeX 定制 中的一些错误

  • #5810: LaTeX: sphinxVerbatim 自 1.6.6 以来需要显式设置“hllines” (参考: #1238)

  • #5636: C++: 修复浮点文字的解析。

  • #5496 (再次): C++: 修复部分构建中重复项的断言。

  • #5724: quickstart: 当 $LC_ALL 为空时 sphinx-quickstart 失败

  • #1956: 默认的 conf.py 不符合 PEP8 规范

  • #5849: LaTeX: 文档类 \maketitle 被覆盖,无法使用其原始含义代替 Sphinx 自定义含义

  • #5834: apidoc: --tocfile 的帮助信息错误

  • #5800: todo: 如果 todo 在 TextElement 中定义则崩溃

  • #5846: htmlhelp: 将 .hhc/.hhk 文件中的十六进制转义转换为十进制转义

  • htmlhelp: 标题包含双引号时生成损坏的 .hhk 文件

发布 1.8.2 (发布于 2018 年 11 月 11 日)

不兼容的变更

  • #5497: 除非真正需要,否则不要包含 MathJax.js 和 jsmath.js

新增功能

  • #5471: 显示适当的弃用警告

修复的 Bug

  • #5490: latex: 枚举列表导致 recommonmark 崩溃

  • #5492: sphinx-build 无法构建 Python < 3.5.2 的文档

  • #3704: latex: 带有图例的图形的 \label 定位错误

  • #5496: C++: 修复符号声明超过两次时的断言。

  • #5493: gettext: 损坏的模板导致崩溃

  • #5495: 包含文件中带有文件选项的 csv-table 指令损坏 (参考: #4821)

  • #5498: autodoc: 无法找到 functools.partial 的类型提示

  • #5480: autodoc: 无法找到无法解析的前向引用的类型提示

  • #5419: 产生了不兼容的 math_block 节点

  • #5548: 修复确保目录() 在文件已存在的情况

  • #5549: graphviz 正确处理不存在的静态目录

  • #3002: i18n: 多个 footnote_references 指向同一个脚注导致重复的 node_ids

  • #5563: latex: 扩展生成的 footnote_references 导致 LaTeX 构建器崩溃

  • #5561: make all-pdf 在旧版 xindy 下失败

  • #5557: quickstart: –no-batchfile 未被遵守

  • #3080: texinfo: 多行标语损坏

  • #3080: texinfo: 多行引文损坏

发布 1.8.1 (发布于 2018 年 9 月 22 日)

不兼容的更改

  • LaTeX \pagestyle 命令已移至 LaTeX 模板。PDF 没有变化,除非 \sphinxtableofcontents (包含它们) 已在 conf.py 中自定义。(参考: #5455)

修复的 Bug

  • #5418: sphinx-build -d/doctrees 文件的默认路径不正确

  • #5421: autodoc 对 autodoc_default_flags 发出弃用警告

  • #5422: lambda 对象在存储环境时导致 PicklingError

  • #5417: Sphinx 在 Python 2.7.5 中由于语法错误导致构建失败

  • #4911: 为非 make 模式的 make.bat 添加 latexpdf

  • #5436: Autodoc 不适用于带有属性/方法的枚举子类

  • #5437: autodoc: 导入 egg 的模块时崩溃

  • #5433: latex: ImportError: 无法导入名称 ‘DEFAULT_SETTINGS’

  • #5431: autodoc: autofunction 对可调用对象发出警告

  • #5457: 修复禁止覆盖时错误消息中的 TypeError

  • #5453: “howto” 文档的 PDF 构建没有页码

  • #5463: mathbase: math_role 和 MathDirective 在 1.8.0 中消失

  • #5454: latex: 日文文档的 PDF 中索引消失

  • #5432: py domain: :type: 字段无法处理 :term: 引用

  • #5426: py domain: 类属性抛出 TypeError

发布 1.8.0 (发布于 2018 年 9 月 13 日)

依赖项

1.8.0b1

  • LaTeX: latex_use_xindy,如果为 True (xelatex/lualatex 的默认值),则指示 make latexpdf 使用 xindy 进行通用索引。请确保您的 LaTeX 发行版包含它。(参考: #5134)

  • LaTeX: Windows 上 make latexpdf 需要 latexmk

不兼容的更改

1.8.0b2

  • #5282: html 主题: 优先引用 HTML 主题的 pygments_style 设置

  • 下载文件的 URL 已更改

  • #5127: quickstart: 如果存在,Makefilemake.bat 不会被覆盖

1.8.0b1

  • #5156: sphinx.ext.graphviz 扩展在正在构建的文档的目录中运行 dot,而不是在文档的根目录中。

  • #4460: 存储任何数据到环境的扩展应返回其环境数据结构的 版本 作为元数据。详细信息请参阅 扩展元数据

  • Sphinx 期望源解析器模块将支持的文件格式作为 Parser.supported 属性

  • epub_authorepub_publisher 的默认值从 'unknown' 更改为 author 的值。这与 sphinx-build 生成的 conf.py 文件相同。

  • gettext_compact 属性已从 document.settings 对象中删除。请改用 config.gettext_compact

  • 读取阶段的处理顺序已更改。smart_quotes、sphinx 域、doctree-read 事件和版本控制 doctrees 比以前更早调用。更多详细信息,请阅读 Sphinx.add_transform() 的描述

  • #4827: 所有 substitution_definition 节点在读取阶段从 doctree 中删除

  • 忽略 $HOME/etc 目录中的 docutils.conf。只遵守 confdir 中的 docutils.conf

  • #789: :samp: 角色支持用反斜杠转义大括号

  • #4811: html_static_path 下的文件被排除在源文件之外。

  • latex: 引用引用使用 \sphinxcite 而不是 \hyperref

  • 配置值 viewcode_import 已重命名为 viewcode_follow_imported_members (参考: #4035)

  • #1857: latex: latex_show_pagerefs 不为引用添加页码引用

  • #4648: latex: 现在“rubric”元素呈现为无编号的节标题

  • #4983: html: productionlist 令牌的锚点已更改

  • 现在允许在模板中修改模板变量 script_files。请改用 app.add_js_file()

  • #5072: 仅在有新文档时也保存环境对象

  • #5035: qthelp 构建器允许 qthelp_namespace 中出现破折号

  • LaTeX: 默认情况下,对于 lualatex 或 xelatex,使用 xindy 作为 UTF-8 兼容的 makeindex 替代品 (参考: #5134)。升级 Sphinx 后,请在新的构建之前清理现有项目的 latex 构建目录。

  • #5163: html: hlist 项目现在顶部对齐

  • highlightlang 指令在解析阶段处理

  • #4000: LaTeX: 模板已更改。以下元素已移至其中

    • \begin{document}

    • shorthandoff 变量

    • maketitle 变量

    • tableofcontents 变量

已弃用

1.8.0b2

  • sphinx.io.SphinxI18nReader.set_lineno_for_reporter() 已弃用

  • sphinx.io.SphinxI18nReader.line 已弃用

  • sphinx.util.i18n.find_catalog_source_file() 已更改; gettext_compact 参数已弃用

  • #5403: sphinx.util.images.guess_mimetype() 已更改; content 参数已弃用

1.8.0b1

  • source_parsers 已弃用

  • autodoc_default_flags 已弃用

  • quickstart: --epub 选项成为默认值,因此已弃用

  • 放弃基于函数的指令支持。目前,Sphinx 只支持基于类的指令 (参见 Directive)

  • sphinx.util.docutils.directive_helper() 已弃用

  • sphinx.cmdline 已弃用

  • sphinx.make_mode 已弃用

  • sphinx.locale.l_() 已弃用

  • #2157: HTML 主题的辅助函数 warn() 已弃用

  • app.override_domain() 已弃用

  • app.add_stylesheet() 已弃用

  • app.add_javascript() 已弃用

  • app.import_object() 已弃用

  • app.add_source_parser() 已更改; suffix 参数已弃用

  • sphinx.versioning.prepare() 已弃用

  • Config.__init__() 已更改; dirname, filenametags 参数已弃用

  • Config.check_types() 已弃用

  • Config.check_unicode() 已弃用

  • sphinx.application.CONFIG_FILENAME 已弃用

  • highlightlang 指令已弃用

  • BuildEnvironment.load() 已弃用

  • BuildEnvironment.loads() 已弃用

  • BuildEnvironment.frompickle() 已弃用

  • env.read_doc() 已弃用

  • env.update() 已弃用

  • env._read_serial() 已弃用

  • env._read_parallel() 已弃用

  • env.write_doctree() 已弃用

  • env._nitpick_ignore 已弃用

  • env.versionchanges 已弃用

  • env.dump() 已弃用

  • env.dumps() 已弃用

  • env.topickle() 已弃用

  • env.note_versionchange() 已弃用

  • sphinx.writers.latex.Table.caption_footnotetexts 已弃用

  • sphinx.writers.latex.Table.header_footnotetexts 已弃用

  • sphinx.writers.latex.LaTeXTranslator.footnotestack 已弃用

  • sphinx.writers.latex.LaTeXTranslator.in_container_literal_block 已弃用

  • sphinx.writers.latex.LaTeXTranslator.next_section_ids 已弃用

  • sphinx.writers.latex.LaTeXTranslator.next_hyperlink_ids 已弃用

  • sphinx.writers.latex.LaTeXTranslator.restrict_footnote() 已弃用

  • sphinx.writers.latex.LaTeXTranslator.unrestrict_footnote() 已弃用

  • sphinx.writers.latex.LaTeXTranslator.push_hyperlink_ids() 已弃用

  • sphinx.writers.latex.LaTeXTranslator.pop_hyperlink_ids() 已弃用

  • sphinx.writers.latex.LaTeXTranslator.check_latex_elements() 已弃用

  • sphinx.writers.latex.LaTeXTranslator.bibitems 已弃用

  • sphinx.writers.latex.LaTeXTranslator.hlsettingstack 已弃用

  • sphinx.writers.latex.ExtBabel.get_shorthandoff() 已弃用

  • sphinx.writers.html.HTMLTranslator.highlightlang 已弃用

  • sphinx.writers.html.HTMLTranslator.highlightlang_base 已弃用

  • sphinx.writers.html.HTMLTranslator.highlightlangopts 已弃用

  • sphinx.writers.html.HTMLTranslator.highlightlinenothreshold 已弃用

  • sphinx.writers.html5.HTMLTranslator.highlightlang 已弃用

  • sphinx.writers.html5.HTMLTranslator.highlightlang_base 已弃用

  • sphinx.writers.html5.HTMLTranslator.highlightlangopts 已弃用

  • sphinx.writers.html5.HTMLTranslator.highlightlinenothreshold 已弃用

  • sphinx.ext.mathbase 扩展已弃用

  • sphinx.ext.mathbase.math 节点已弃用

  • sphinx.ext.mathbase.displaymath 节点已弃用

  • sphinx.ext.mathbase.eqref 节点已弃用

  • sphinx.ext.mathbase.is_in_section_title() 已弃用

  • sphinx.ext.mathbase.MathDomain 已弃用

  • sphinx.ext.mathbase.MathDirective 已弃用

  • sphinx.ext.mathbase.math_role 已弃用

  • sphinx.ext.mathbase.setup_math() 已弃用

  • sphinx.directives.other.VersionChanges 已弃用

  • sphinx.highlighting.PygmentsBridge.unhighlight() 已弃用

  • sphinx.ext.mathbase.get_node_equation_number() 已弃用

  • sphinx.ext.mathbase.wrap_displaymath() 已弃用

  • sphinx.highlighting.PygmentsBridgetrim_doctest_flags 参数已弃用

有关更多详细信息,请参阅 已弃用 API 列表

新增功能

1.8.0b2

  • #5388: 确保冻结对象描述可重现

  • #5362: apidoc: 添加 --tocfile 选项以更改 ToC 的文件名

1.8.0b1

  • 添加 config-inited 事件

  • 添加 sphinx.config.Any 来表示配置值接受任何类型的值

  • source_suffix 允许文件扩展名到文件类型的映射

  • 添加 author 作为配置值

  • #2852: imgconverter: 支持将 GIF 转换为 PNG

  • sphinx-build 命令支持 i18n 控制台输出

  • 添加 app.add_message_catalog()sphinx.locale.get_translations() 以支持第三方扩展的翻译

  • 添加了 HTML 主题的辅助函数 warning()

  • 添加 Domain.enumerable_nodes 以管理域的自己的可枚举节点 (实验性)

  • 向 Application API 添加新关键字参数 override

  • LaTeX: latex_elements 的新键 'fvset'。对于 XeLaTeX/LuaLaTeX,其默认设置 fanvyvrb 在代码块中使用正常字体大小,而不是小字体大小 (参考: #4793)

  • 添加 html_css_filesepub_css_files 以从配置中添加 CSS 文件

  • 添加 html_js_files 以从配置中添加 JS 文件

  • #4834: 确保设置对象描述可重现。

  • #4828: 允许部分覆盖 numfig_format。不需要完整定义。

  • 改进包含期间的警告消息 (参考: #4818)

  • LaTeX: 分别自定义 guilabelmenuselection (参考: #4830)

  • 添加 Config.read() 类方法以从配置文件创建新的配置对象

  • #4866: 将 graphviz 图表包装在 <div> 标签中

  • viewcode: 添加 viewcode-find-sourceviewcode-follow-imported 以在不加载的情况下加载源代码

  • #4785: napoleon: 将字符串添加到翻译文件进行本地化

  • #4927: 当无效值传递给 highlight 指令的 linenothreshold 选项时显示警告

  • C++

    • 添加 cpp:texpr 角色作为 cpp:expr 的同级。

    • 添加对联合的支持。

    • #3593, #2683: 添加对以 @ 开头的名称的匿名实体的支持。

    • #5147: 添加对 (大多数) 字符文字的支持。

    • 支持交叉引用主模板中的实体,现在已正确记录。

    • #1552: 为 cpp:anycpp:func 角色添加新的交叉引用格式,用于引用特定的函数重载。

  • #3606: MathJax 应异步加载

  • html: 如果设置了 html_baseurl,则输出 canonical_url 元数据 (参考: #4193)

  • #5029: autosummary: 将 inherited_members 暴露给模板

  • #3784: mathjax: 添加 mathjax_options 为 mathjax 的脚本标签提供选项

  • #726, #969: mathjax: 添加 mathjax_config 为 mathjax 提供内联配置

  • #4362: latex: 如果文档未更改,则不覆盖 .tex 文件

  • #1431: latex: 添加字母数字枚举列表支持

  • 添加 latex_use_xindy 用于支持 UTF-8 的索引,如果 latex_engine'xelatex''lualatex',则默认为 True。(参考: #5134, #5192, #5212)

  • #4976: SphinxLoggerAdapter.info() 现在支持 location 参数

  • #5122: setuptools: 支持 nitpicky 选项

  • #2820: autoclass 指令支持嵌套类

  • 添加 app.add_html_math_renderer() 以注册 HTML 的数学渲染器

  • trim_doctest_flags 应用于所有构建器 (参见文本、手册页)

  • #5140: linkcheck: 为 HTTP 客户端添加更好的 Accept 头部

  • #4614: sphinx-build: 添加 --keep-going 选项以显示所有警告

  • 添加 math:numref 角色以引用方程 (与 eq 相同)

  • quickstart: epub 构建器默认启用

  • #5246: 添加 singlehtml_sidebars 以配置 singlehtml 构建器的侧边栏

  • #5273: doctest: 有条件地跳过 doctest

  • #5306: autodoc: 对无效的类型提示发出警告

  • #4075, #5215: autodoc: 添加 autodoc_default_options,它接受选项值作为字典

错误修复

1.8.0b2

  • html: 搜索框在滚动时会覆盖其他元素

  • i18n: 翻译目录的警告行号错误 (参考: #5321)

  • #5325: latex: 交叉引用被多重标记对象损坏

  • C++: 修复符号添加和查找。查找不应再在部分构建中中断。另请参阅 #5337。

  • #5348: 远程文件的下载引用未显示

  • #5282: html 主题: 主题的 pygments_style 默认被 conf.py 覆盖

  • #4379: toctree 在文档被排除时显示令人困惑的警告

  • #2401: autodoc: :members: 导致不显示 :special-members:

  • autodoc: ImportError 被 AttributeError 替换为更深层的模块

  • #2720, #4034: :download:、重复名称和并行构建的链接不正确

  • #5290: autodoc: 无法分析 egg 包中的源代码

  • #5399: 如果存在未知 po 文件,Sphinx 崩溃

1.8.0b1

  • i18n: 消息目录在每次初始化时都被重置

  • #4850: latex: 脚注内的脚注未渲染

  • #4945: i18n: 修复 IndexBuilder 的 lang_COUNTRY 未正确回退。感谢 Shengjing Zhu。

  • #4983: productionlist 指令为令牌生成无效 ID

  • #5132: lualatex: 如果索引单词以 Unicode 字符开头,PDF 构建失败

  • #5133: latex: 索引标题“Symbols”和“Numbers”未国际化

  • #5114: sphinx-build: 处理扫描文档时的错误

  • epub: 当“self”在 toctree 中列出时,主干已损坏 (参考: #4611)

  • #344: autosummary 不理解模块级别属性的 docstring

  • #5191: C++: 防止函数中的嵌套声明以避免查找问题。

  • #5126: C++: 为某些模板参数类型添加缺少的 isPack 方法。

  • #5187: C++: 也解析声明符上的属性。

  • C++: 也解析删除表达式和基本新建表达式。

  • #5002: graphviz: SVG 不适应列宽

已移除的功能

1.8.0b1

  • sphinx.ext.pngmath 扩展

文档

1.8.0b1

  • #5083: 修复 make.bat 国际化选项错误。

  • #5115: napoleon: 将 #4613 添加的警示框添加到文档中。