pydata_sphinx_theme.utils#

用于管理配置参数的一般帮助程序。

属性#

函数#

_get_matching_sidebar_items(pagename, sidebars)

获取与给定页名称匹配的要渲染的侧边栏模板。

_has_wildcard(pattern)

检查模式是否包含通配符。

_update_and_remove_templates(app, context, templates, ...)

更新模板以在需要时包含 html 后缀;移除渲染为空的模板。

config_provided_by_user(app, key)

检查用户是否手动提供了配置。

escape_ansi(string)

辅助函数,用于从 Sphinx 警告中移除 ANSI 着色。

get_theme_options_dict(app)

返回应用程序的主题选项,如果不存在则使用备用选项。

maybe_warn(app, msg, *args, **kwargs)

封装 Sphinx 日志记录器以允许抑制警告。

set_secondary_sidebar_items(app, pagename, ...)

为给定页名称设置要渲染的次级侧边栏项目。

traverse_or_findall(node, condition, **kwargs)

对节点进行分类。遍历 (docutils <0.18.1) 与查找所有节点。

模块内容#

pydata_sphinx_theme.utils._get_matching_sidebar_items(pagename, sidebars)[source]#

获取与给定页名称匹配的要渲染的侧边栏模板。

如果页面匹配多个模式,则会发出警告,并使用最后一个匹配模式的模板。

此函数改编自 sphinx.builders.html.StandaloneHTMLBuilder.add_sidebars。

参数:
  • pagename (str)

  • sidebars (Dict[str, List[str]])

返回类型:

List[str]

pydata_sphinx_theme.utils._has_wildcard(pattern)[source]#

检查模式是否包含通配符。

取自 sphinx.builders.StandaloneHTMLBuilder.add_sidebars。

参数:

pattern (str)

返回类型:

bool

pydata_sphinx_theme.utils._update_and_remove_templates(app, context, templates, section, templates_skip_empty_check=None)[source]#

更新模板以在需要时包含 html 后缀;移除渲染为空的模板。

参数:
  • app (sphinx.application.Sphinx) – 传递给 html 页面上下文的 Sphinx 应用程序

  • context (Dict[str, Any]) – html 页面上下文;传递给模板引擎的值字典

  • templates (Union[List, str]) – 模板名称列表,或用逗号分隔的模板名称字符串

  • section (str) – 要在其中渲染模板的模板部分的名称。有效的部分名称包括任何接受模板或模板列表作为参数的 sphinxhtml_theme_options,例如:theme_navbar_starttheme_primary_sidebar_endtheme_secondary_sidebar_itemssidebars 等。有关有效部分名称的完整列表,请参阅 pydata_sphinx_theme.update_and_remove_templates()pydata_sphinx_theme.utils.set_secondary_sidebar_items() 的源代码,这两个函数都调用了此函数。

  • templates_skip_empty_check (Optional[List[str]]) – 永远不应该从此函数返回的过滤后的模板列表中移除的任何模板的名称。这些模板不会检查它们是否渲染为空,如果模板渲染速度很慢,这可以节省时间。

返回:

要渲染到部分中的模板名称列表(包括“.html”后缀)

返回类型:

List[str]

pydata_sphinx_theme.utils.config_provided_by_user(app, key)[source]#

检查用户是否手动提供了配置。

参数:
返回类型:

bool

pydata_sphinx_theme.utils.escape_ansi(string)[source]#

辅助函数,用于从 Sphinx 警告中移除 ANSI 着色。

参数:

string (str)

返回类型:

str

pydata_sphinx_theme.utils.get_theme_options_dict(app)[source]#

返回应用程序的主题选项,如果不存在则使用备用选项。

“顶级”映射(通常应该首先检查的映射,并在需要时修改)是 app.builder.theme_options。它由 Sphinx 创建,它是 app.config.html_theme_options(包含来自其 conf.py 的用户配置)的副本;有时该副本永远不会发生,这就是我们检查两个原因。

参数:

app (sphinx.application.Sphinx)

返回类型:

Dict[str, Any]

pydata_sphinx_theme.utils.maybe_warn(app, msg, *args, **kwargs)[source]#

封装 Sphinx 日志记录器以允许抑制警告。

参数:

app (sphinx.application.Sphinx)

pydata_sphinx_theme.utils.set_secondary_sidebar_items(app, pagename, templatename, context, doctree)[source]#

为给定页名称设置要渲染的次级侧边栏项目。

参数:
返回类型:

None

pydata_sphinx_theme.utils.traverse_or_findall(node, condition, **kwargs)[source]#

对节点进行分类。遍历 (docutils <0.18.1) 与查找所有节点。

待办事项:当 NumPyDoc 的最低支持 Docutils 版本为 Docutils>=0.18.1 时,可以删除此检查。

参数:
  • node (docutils.nodes.Node)

  • condition (Union[Callable, type])

返回类型:

Iterable[docutils.nodes.Node]

pydata_sphinx_theme.utils.SPHINX_LOGGER[source]#