主题特定元素#
有一些元素是该主题独特或特别重要的。其中一些是通过该主题独有的配置或 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 Library Styles。
脚注#
这是数字脚注[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 (default)
[https://github.com/pydata/pydata-sphinx-theme/pull/1012](https://github.com/pydata/pydata-sphinx-theme/pull/1012)
MyST Markdown with MyST Linkify
https://github.com/pydata/pydata-sphinx-theme/pull/1012
There are a variety of link targets supported, here's a table for reference:
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
Links provided with a text body won't be changed.