特定主题元素#
有一些元素在这个主题中是独一无二的或特别重要的。其中一些元素是通过特定于主题的配置或 Markdown 语法触发的,我们将在下面介绍。
数学#
大多数 Sphinx 网站支持数学,但对于科学计算来说它特别重要,因此我们在这里也说明了支持。
这里有一个内联方程式: \(X_{0:5} = (X_0, X_1, X_2, X_3, X_4)\) 和 \(another\) 和 \(x^2 x^3 x^4\) 另一个。还有一个用来测试垂直高度的方程式 \(\frac{\partial^2 f}{\partial \phi^2}\)。这里有一个块级方程式
这里还有一个带标签的非常长的方程式!
代码块#
代码块样式灵感来自于 GitHub 的代码块样式,并且还支持代码块标题/字幕。请参阅 Sphinx 文档中的代码块,了解更多信息。
print("A regular code block")
print("A regular code block")
print("A regular code block")
您还可以为代码块提供字幕,这些字幕将显示在代码的正上方。例如,以下代码
.. code-block:: python
:caption: python.py
print("A code block with a caption.")
```{code-block} python
:caption: python.py
print("A code block with a caption.")
```
结果是
print("A code block with a caption.")
您还可以显示行号。例如,以下代码
.. code-block:: python
:caption: python.py
:linenos:
print("A code block with a caption and line numbers.")
print("A code block with a caption and line numbers.")
print("A code block with a caption and line numbers.")
```{code-block} python
:caption: python.py
:linenos:
print("A code block with a caption and line numbers.")
print("A code block with a caption and line numbers.")
print("A code block with a caption and line numbers.")
```
结果是
1print("A code block with a caption and line numbers.")
2print("A code block with a caption and line numbers.")
3print("A code block with a caption and line numbers.")
内联代码#
直接使用时,code
角色只显示文本,不进行语法高亮,作为文字。如 Sphinx 文档 中所述,您还可以通过定义自定义角色来启用语法高亮。然后它将使用与 code-block
指令中相同的突出显示器。
.. role:: python(code)
:language: python
In Python you can :python:`import sphinx`.
```{role} python(code)
:language: python
```
In Python you can {python}`import sphinx`.
在 Python 中,您可以 import sphinx
。
代码执行#
该主题支持 Jupyter 执行库,以便您可以通过编程方式在每次构建时更新您的文档。有关示例,请参阅 PyData 库样式。
脚注#
这是一个数字脚注[1],另一个脚注(前面有一个空格)[2],一个命名脚注[3],以及一个符号脚注[4]。所有这些脚注最终都会在渲染的 HTML 中显示为数字,但在源代码中它们看起来像 [^1]
、[^2]
、[^named]
和 [^*]
。
用于 Git 存储库服务的链接缩短#
许多项目都包含指向其在GitHub 或GitLab 上托管的问题/PR 的链接。该主题不会将这些链接显示为原始链接,而会针对这些平台专门进行一些轻量级的格式化。
在reStructuredText 中,URL 会自动转换为链接,因此此功能会自动生效。
在MyST Markdown 中,默认情况下,您必须定义一个标准的 Markdown 链接,并在链接文本中重复 URL。您可以通过 激活 MyST Linkify 扩展 来跳过手动定义链接文本的步骤。
例如
reStructuredText
https://github.com/pydata/pydata-sphinx-theme/pull/1012
MyST Markdown(默认)
[https://github.com/pydata/pydata-sphinx-theme/pull/1012](https://github.com/pydata/pydata-sphinx-theme/pull/1012)
使用 MyST Linkify 的 MyST Markdown
https://github.com/pydata/pydata-sphinx-theme/pull/1012
支持各种链接目标,以下是一张参考表
GitHub
https://github.com
: githubhttps://github.com/pydata
: pydatahttps://github.com/pydata/pydata-sphinx-theme
: pydata/pydata-sphinx-themehttps://github.com/pydata/pydata-sphinx-theme/pull/1012
: pydata/pydata-sphinx-theme#1012https://github.com/orgs/pydata/projects/2
: pydata/projects#2
GitLab
https://gitlab.com
: gitlabhttps://gitlab.com/gitlab-org
: gitlab-orghttps://gitlab.com/gitlab-org/gitlab
: gitlab-org/gitlabhttps://gitlab.com/gitlab-org/gitlab/-/issues/375583
: gitlab-org/gitlab#375583
带有文本内容的链接不会被更改。