隐藏单元格内容#

您可以使用 Jupyter Notebook 单元格标签 来控制渲染笔记本的某些行为。[1] 如果您是第一次使用单元格标签,可以在此教程中了解更多信息 https://jupyterbook.org/en/stable/content/metadata.html#add-metadata-to-notebooks

隐藏代码单元格#

您可以使用 单元格标签 来控制代码单元格中隐藏的内容。将以下标签添加到单元格的元数据中,以控制在代码单元格中隐藏的内容:

  • hide-input 标签以隐藏单元格输入

  • hide-output 标签以隐藏单元格输出

  • hide-cell 标签以隐藏整个单元格

例如,显示下面的每个单元格。

这是带有 hide-input 标签的单元格。

Hide code cell source
# This cell has a hide-input tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

这是带有 hide-output 标签的单元格:

# This cell has a hide-output tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Hide code cell output
../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

这是同时带有 hide-inputhide-output 标签的单元格:

Hide code cell source
# This cell has a hide-output tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Hide code cell output
../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

这是带有 hide-cell 标签的单元格:

Hide code cell content
# This cell has a hide-cell tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

最后,同时带有 remove-input(见下文)和 hide-output 标签的单元格:

Hide code cell outputs
../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

您可以使用 code_prompt_showcode_prompt_hide 配置选项来控制提示的显示/隐藏。可选的 {type} 占位符将根据隐藏标签替换为 contentsourceoutputs。有关更多详细信息,请参阅 配置 部分。

```{code-cell} ipython3
:tags: [hide-cell]
:mystnb:
:  code_prompt_show: "My show prompt for {type}"
:  code_prompt_hide: "My hide prompt for {type}"

print("hallo world")
```
My hide prompt for content
print("hallo world")
hallo world

Hide markdown 单元格#

您不能隐藏整个 Markdown 单元格,但可以使用角色和指令隐藏 Markdown content 的部分。

有关如何在 Sphinx 中隐藏/切换 Markdown 内容的信息,请参阅 the sphinx-togglebutton documentationsphinx-design dropdowns documentation

移除单元格的部分内容#

有时,您希望完全移除单元格的某些部分,使其根本不会出现在输出中。

要在全局级别执行此操作,请使用 nb_remove_code_sourcenb_remove_code_outputs 配置选项,或在每个文件级别执行,例如:

---
mystnb:
  remove_code_source: true
  remove_code_outputs: true
---

查看 配置部分 了解更多详细信息。

在每个单元格级别,您可以使用上述相同的标签模式,但使用 remove_ 而不是 hide_。使用以下标签:

  • remove-input 标签以删除单元格输入

  • remove-output 标签以删除单元格输出

  • remove-cell 标签以删除整个单元格

这是带有 remove-input 标签的单元格。输入将不会出现在页面中。

../_images/40648b788bb1bd37da20ba6b47416dc3b9f2918ddddabd646771bfbad000d92b.png

这是带有 remove-output 标签的单元格:

fig, ax = plt.subplots()
points = ax.scatter(*data, c=data[0], s=data[0])

下面的单元格有 remove-cell 标签(应该没有任何东西,因为单元格将消失)。