| file_format | mystnb | ||
|---|---|---|---|
| kernelspec |
|
You can use Jupyter Notebook cell tags to control some of the behavior of the rendered notebook.1 If you are using cell tags for the first time, you can read more about them in this tutorial https://jupyterbook.org/en/stable/content/metadata.html#add-metadata-to-notebooks
(use/hiding/code)=
You can use cell tags to control the content hidden with code cells at the cell level. Add the following tags to a cell's metadata to control what to hide in code cells:
hide-inputtag to hide the cell inputshide-outputto hide the cell outputshide-cellto hide the entire cell
For example, we'll show cells with each below.
:tags: [remove-cell]
import matplotlib.pyplot as plt
import numpy as np
data = np.random.rand(2, 100) * 100
Here is a cell with a hide-input tag.
:tags: [hide-input]
# This cell has a hide-input tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Here's a cell with a hide-output tag:
:tags: [hide-output]
# This cell has a hide-output tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Here's a cell with both hide-input and hide-output tags:
:tags: [hide-input, hide-output]
# This cell has a hide-output tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Here's a cell with a hide-cell tag:
:tags: [hide-cell]
# This cell has a hide-cell tag
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Finally, a cell with both remove-input (see below) and hide-output tags:
:tags: [remove-input, hide-output]
fig, ax = plt.subplots()
points = ax.scatter(*data, c=data[0], s=data[0])
You can control the hide/show prompts by using the code_prompt_show and code_prompt_hide configuration options.
The optional {type} placeholder will be replaced with content, source, or outputs, depending on the hide tag.
See the {ref}config/intro section for more details.
```{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")
```:tags: [hide-cell]
:mystnb:
: code_prompt_show: "My show prompt for {type}"
: code_prompt_hide: "My hide prompt for {type}"
print("hallo world")
(use/hiding/markdown)=
You cannot hide an entire markdown cell, but you can hide sections of markdown content by using roles and directives.
For information on how to hide / toggle markdown content in Sphinx, see either the sphinx-togglebutton documentation or the sphinx-design dropdowns documentation.
(use/removing)=
Sometimes, you want to entirely remove parts of a cell so that it doesn't make it into the output at all.
To do this at the global level, use the nb_remove_code_source or nb_remove_code_outputs configuration options, or at a per-file level, e.g.
---
mystnb:
remove_code_source: true
remove_code_outputs: true
---See the configuration section for more details.
At a per-cell level you can use the same tag pattern described above,
but with the word remove_ instead of hide_. Use the following tags:
remove-inputtag to remove the cell inputsremove-outputto remove the cell outputsremove-cellto remove the entire cell
+++
Here is a cell with a remove-input tag. The inputs will not make it into
the page at all.
:tags: [remove-input]
fig, ax = plt.subplots()
points =ax.scatter(*data, c=data[0], s=data[0])
Here's a cell with a remove-output tag:
:tags: [remove-output]
fig, ax = plt.subplots()
points = ax.scatter(*data, c=data[0], s=data[0])
And the following cell has a remove-cell tag (there should be nothing
below, since the cell will be gone).
:tags: [remove-cell]
fig, ax = plt.subplots()
points = ax.scatter(*data, c=data[0], s=data[0])
Footnotes
-
This notebook can be downloaded as {nb-download}
hiding.ipynband {download}hiding.md↩