Sphinx2.0

版本2.0.1(2019年4月8日发布)

错误已修复

  • LaTeX:某些系统标签未翻译

  • RemovedInSphinx 30警告被标记为待定

  • 不会发出弃用警告

    • sphinx.application.CONFIG_FILENAME

    • sphinx.builders.htmlhelp

    • viewcode_import

  • #6208:C++,正确分析恰好以短外部参照作为前置的完整外部参照

  • #6220,#6225:naparter:对于具有引用的提出部分会引发Veritas错误

  • #6245:导入SerializingHTMLBuilder时循环导入错误

  • #6243:LaTeX:latex_elements的“releaserable”设置被忽略

  • #6244:html:搜索功能因第三方主题而中断

  • #6263:html:HTML5 Translator崩溃,字段节点无效

  • #6262:html主题:bizstyle主题中字段列表的样式发生了变化

发布2.0.0(2019年3月29日发布)

依赖关系

2.0.0b1

  • LaTeX构建者现在依赖TeX Live 2015或更高版本。

  • LaTeX构建者(与 'pdflatex' latex_engine )将通过文本字体处理文本中的Unicode希腊字母(而不是数学标记中),并且不会将它们逸出到数学标记中。查看的讨论 'fontenc' 关键 latex_elements ;对希腊语的这种(可选)支持添加,例如在Ubuntu xenial上、 texlive-lang-greek 和(如果未修改默认字体设置) cm-super(-minimal) 作为额外的Sphinx LaTeX要求。

  • LaTeX构建者, latex_engine 设置为 'xelatex''lualatex' 要求(默认情况下) FreeFont 字体,在Ubuntu xenial中由包提供 fonts-freefont-otf ,例如通过包在Fedora 29中 texlive-gnu-freefont .

  • 要求2.5.0或以上

  • 六包不再是依赖

  • phinxcontrib-webSupport包不再是依赖项

  • 某些包裹被分成子包裹:

    • sphinxcontrib.applehelp

    • sphinxcontrib.devhelp

    • sphinxcontrib.htmlhelp

    • sphinxcontrib.jsmath

    • sphinxcontrib.serializinghtml

    • sphinxcontrib.qthelp

不兼容的更改

2.0.0b1

  • 放弃Python 2.7和3.4支持

  • 放弃Docutils 0.11支持

  • 删除1.7.x中不建议使用的功能和API

  • 的默认设置 master_doc 被改变为 'index' 它长期以来一直被用作狮身X快速启动的默认设置。

  • LaTeX:将消息资源移至 sphinxmessage.sty

  • LaTeX:停止使用 \captions<lang> 某些标签的宏

  • LaTeX:对于 'xelatex''lualatex' ,使用 FreeFont OpenType字体作为默认选择(参考文献:#5645)

  • LaTeX: 'xelatex''lualatex' 现在使用 \small 在代码块中(由于 FreeMono 字符宽度)喜欢 'pdflatex' 已经这样做了(由于 Courier 字符宽度)。 您可能需要通过以下方式进行调整 latex_elements 'fvset' 键,以防使用其他OpenType字体(参考文献:#5768)

  • LaTeX:文本中的希腊字母不会逸出到数学模式标记,并且它们将使用文本字体而不是数学字体。的 LGR 字体编码必须添加到 'fontenc' 关键 latex_elements 这样才能发挥作用(当然,只有在文档需要的情况下)。

  • LaTeX:设置 language'en' 触发 Sonny 选择 fncychap ,现在是了 Bjarne 以匹配未指定语言的情况。(refs:#5772)

  • #5770:doctests:关注 highlight_language 突出显示docTest块。 因此,默认情况下它们会突出显示为python 3。

  • 争论的顺序 HTMLTranslator , HTML5TranslatorManualPageTranslator 改变

  • LaTeX: hard-coded redefinitions of \l@section and \l@subsection formerly done during loading of 'manual' docclass get executed later, at time of \sphinxtableofcontents. This means that custom user definitions from LaTeX preamble now get overwritten. Use \sphinxtableofcontentshook to insert custom user definitions. See 宏指令.

  • 快速启动:已生成收件箱 conf.py

  • #4148:快速入门:删除某些问题。 他们仍然可以通过命令行选项指定

  • websupport:从Sphinx核心中分拆出来。请使用sphinxcontrib-websupport

  • C++,基本类的可见性现在始终呈现为输入中的形式。也就是说, private 现在显示了它之前被省略的位置。

  • LaTeX:超大图像的图形包含会重新缩放,使其不超过文本宽度和高度,即使使用了宽度和/或高度选项。(refs:#5956)

  • epub: epub_title 默认为 project 选项

  • #4550:所有表格和图形不包含 align 选项显示在中心

  • #4587:html:默认输出HTML5

2.0.0b2

  • texinfo:将图像文件复制到 name-figure 目录

弃用

2.0.0b1

  • 不支持评估Python 2语法。这包括应该转换为Python 3的配置文件。

  • 的论点 EpubBuilder.build_mimetype() , EpubBuilder.build_container() , EpubBuilder.bulid_content() , EpubBuilder.build_toc()EpubBuilder.build_epub()

  • 的论点 Epub3Builder.build_navigation_doc()

  • 配置变量

    • html_experimental_html5_writer

  • encoding 论点 autodoc.Documenter.get_doc() , autodoc.DocstringSignatureMixin.get_doc() , autodoc.DocstringSignatureMixin._find_signature() ,而且 autodoc.ClassDocumenter.get_doc() 已被废弃。

  • importer 论点 sphinx.ext.autodoc.importer._MockModule

  • nodetype 论点 sphinx.search.WordCollector. is_meta_keywords()

  • suffix 论点 env.doc2path() 已经过时了

  • 弦乐风格 base 论点 env.doc2path() 已经过时了

  • 允许省略 filename 来自被重写的参数 IndexBuilder.feed() 方法已被废弃。

  • sphinx.addnodes.abbreviation

  • sphinx.application.Sphinx._setting_up_extension

  • sphinx.builders.epub3.Epub3Builder.validate_config_value()

  • sphinx.builders.html.SingleFileHTMLBuilder

  • sphinx.builders.htmlhelp.HTMLHelpBuilder.open_file()

  • sphinx.cmd.quickstart.term_decode()

  • sphinx.cmd.quickstart.TERM_ENCODING

  • sphinx.config.check_unicode()

  • sphinx.config.string_classes

  • sphinx.domains.cpp.DefinitionError.description

  • sphinx.domains.cpp.NoOldIdError.description

  • sphinx.domains.cpp.UnsupportedMultiCharacterCharLiteral.decoded

  • sphinx.ext.autodoc.importer._MockImporter

  • sphinx.ext.autosummary.Autosummary.warn()

  • sphinx.ext.autosummary.Autosummary.genopt

  • sphinx.ext.autosummary.Autosummary.warnings

  • sphinx.ext.autosummary.Autosummary.result

  • sphinx.ext.doctest.doctest_encode()

  • sphinx.io.SphinxBaseFileInput

  • sphinx.io.SphinxFileInput.supported

  • sphinx.io.SphinxRSTFileInput

  • sphinx.registry.SphinxComponentRegistry.add_source_input()

  • sphinx.roles.abbr_role()

  • sphinx.roles.emph_literal_role()

  • sphinx.roles.menusel_role()

  • sphinx.roles.index_role()

  • sphinx.roles.indexmarkup_role()

  • sphinx.testing.util.remove_unicode_literal()

  • sphinx.util.attrdict

  • sphinx.util.force_decode()

  • sphinx.util.get_matching_docs()

  • sphinx.util.inspect.Parameter

  • sphinx.util.jsonimpl

  • sphinx.util.osutil.EEXIST

  • sphinx.util.osutil.EINVAL

  • sphinx.util.osutil.ENOENT

  • sphinx.util.osutil.EPIPE

  • sphinx.util.osutil.walk()

  • sphinx.util.PeekableIterator

  • sphinx.util.pycompat.NoneType

  • sphinx.util.pycompat.TextIOWrapper

  • sphinx.util.pycompat.UnicodeMixin

  • sphinx.util.pycompat.htmlescape

  • sphinx.util.pycompat.indent

  • sphinx.util.pycompat.sys_encoding

  • sphinx.util.pycompat.terminal_safe()

  • sphinx.util.pycompat.u

  • sphinx.writers.latex.ExtBabel

  • sphinx.writers.latex.LaTeXTranslator._make_visit_admonition()

  • sphinx.writers.latex.LaTeXTranslator.babel_defmacro()

  • sphinx.writers.latex.LaTeXTranslator.collect_footnotes()

  • sphinx.writers.latex.LaTeXTranslator.generate_numfig_format()

  • sphinx.writers.texinfo.TexinfoTranslator._make_visit_admonition()

  • sphinx.writers.text.TextTranslator._make_depart_admonition()

  • LaTeX模板变量

    • logo

    • numfig_format

    • pageautorefname

    • translatablestrings

详情见 deprecation APIs list .

功能添加

2.0.0b1

  • #1618:生成的HTML文档的搜索结果预览更方便读者:Sphinx现在渲染相应的HTML,而不是将片段显示为原始reStructuredtext标记。 这意味着Sphinx扩展 Sphinx: pretty search results 不再需要了。 请注意,对自定义或第三方HTML模板的搜索功能的更改可能会覆盖此改进。

  • #4182:autodoc:支持 suppress_warnings

  • #5533:autodoc: autodoc_default_options 支持 member-order

  • #5394:autodoc:在被模仿对象的类型注释中显示可读名称

  • #5459:autodoc: autodoc_default_options 接受 True 作为一种价值

  • #1148:autodoc:添加 autodecorator 装饰师指令

  • #5635:自动摘要:添加 autosummary_mock_imports 嘲笑外部图书馆导入目标

  • #4018:htmlHelp:添加 htmlhelp_file_suffixhtmlhelp_link_suffix

  • #5559:文本:支持复杂表(colspan和rowspan)

  • LaTeX:支持在非西里尔文文档中渲染(尚未在数学中)希腊文和西里尔文Unicode字母, 'pdflatex' 作为 latex_engine (refs:#5645)

  • #36660;的。 versionadded , versionchangeddeprecated 指令现在使用其自己特定的CSS类生成 (added , changeddeprecated ,分别)除了通用之外 versionmodified

  • #5841:apidoc:将--扩展选项添加到sphinx-apidoc

  • #4981:C++,添加了用于插入声明列表的别名指令,该指令引用现有声明(例如,用于制作大纲)。

  • C++:add cpp:struct 以补充 cpp:class .

  • #1341:HTML搜索将包含长度为三或更长的搜索项的单词视为匹配。

  • #4611:epub:显示重复ToC条目的警告

  • #1851:允许省略参数 code-block 指令。 如果省略,则如下 highlighthighlight_language

  • #4587:html:添加 html4_writer 使用旧的HTML4编写器

  • #6016:HTML搜索:搜索摘要的占位符防止搜索结果链接在搜索终止时更改其位置。 这使得导航搜索结果变得更容易。

  • #5196:linkcheck还检查远程图像是否存在

  • #5924:githubpages:为自定义域创建CNUM文件时 html_baseurl 设置

  • #4261:autosectionLabel:通过新配置值限制已标记的部分; autosectionlabel_maxdepth

错误已修复

2.0.0b1

  • #1682:LaTeX:作者不应翻译希腊语Unicode,而应使用文本希腊包

  • #5247:LaTeX:PDF不使用俄语的默认字体配置构建, 'xelatex''lualatex' 作为 latex_engine (refs:#5251)

  • #5248:LaTeX:部分标题中的希腊字母从PDF书签中消失

  • #5249:LaTeX:数学指令中的Unicode希腊字母破坏了PDF构建(修复需要额外的设置,请参阅 latex_elements 'textgreek' 密钥和/或 latex_engine 设置)

  • #5772:LaTeX:如果作为语言选项传递,fncychap的Bjarne风格是否也应该用于英语?

  • #5179:LaTeX:(仅限lualatex)转义 > 通过 \textgreater{} 还不够, \textgreater{}\textgreater{} 应用TeX结扎

  • LaTeX:如果出现以下情况,则不会转义项目名称 latex_documents 省略

  • LaTeX:如果作者不显示 latex_documents 省略

  • HTML:对于一个描述中包含多个术语的术语表生成无效的HTML5文件(参考文献:#4611)

  • QtHelp:.qhp文件中使用了操作系统相关的路径分隔符

  • HTML搜索:当使用多个搜索词并且一个词短于三个字符时,搜索始终不返回任何内容

2.0.0b2

  • #6096:html:锚链接未添加到图中

  • #3620:html:推迟searchindex.js而不是通过ajax加载它

  • #6113:html:表格单元格和列表项的页边距很大

  • #5508: linenothreshold 选择 highlight 指令被忽略

  • 文本信息: make install-info 导致语法错误

  • 文本信息: make install-info 在macOS上失败

  • #3079:texinfo:图像文件不会复制 make install-info

  • #5391:标题中的交叉引用被呈现为字面意思

  • #5946:C++,修复 cpp:alias LaTeX(和singlehtml)中的问题

  • #6147:类属性 citation_reference 节点丢失

  • 自定义时引发Assertion错误 citation_reference 具有classes属性的节点引用了缺失的引用(参考文献:#6147)

  • #2155:支持 code 指令

  • C++,修复了括号初始化器的解析。

  • #6172:旧样式的索引节点引发AttributeError

  • #4872:继承_图表:正确描述的行为 parts 文档中的选项,允许负值。

  • #6178:i18 n:隐藏的目录翻译中缺少标题

2.0.0决赛

  • #6196:py域:生成意外的前置码

测试

2.0.0b1

  • 停止使用 SPHINX_TEST_TEMPDIR envvar

2.0.0b2

  • 添加助手功能: sphinx.testing.restructuredtext.parse()