首先我们看下Word中导航是什么样的,就长这样:

是不是很熟悉?有了他,我们在Word中就非常方便的定位到具体章节,但如何在Jupyter Notebook中也显示类似的导航呢?接下来,Steven折腾开始咯^_^
因为最近在整理Python基础内容,因为文档很长,所以需要一个目录来显示,为了能够解决该问题,于是通过百度和谷歌搜索,终于找到了基于jupyter notebook的nbextensions,该扩展里面包含了一个组件就是Table of Contents (2),该组件就可以悬浮显示文档目录,可以快速定位到所需要的的地方。

上面的动态图就是官方demo,是不是很好看?而且可以方便移动,编辑标题后实时生效。
接下来我们就将介绍如何安装jupyter_contrib_nbextensions了。安装nbextensions的前提是你已经安装好了Python和pip命令。
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
如果你安装的是Anaconda,可以使用如下命令进行安装:
conda install -c conda-forge jupyter_contrib_nbextensions
我从哪里知道的这些命令?看到文章开头的超链接了吗?那就是官方的帮助文档README.md介绍的,我不生产知识,我只是知识的搬运工。快夸我、夸我、我 ^_^
咳咳……瞧把你能的,收,继续,如果上面的命令执行没问题,那一定要记得重启一下jupyter notebook,执行的情况下按下键盘上的Ctrl+C。如果你没执行,直接启动应该就可以在如下界面的菜单栏新增了一个Nbextensions 。

如果你的界面没看到,一定记得是不是忘记没有重启Jupyter Notebook。细心的小伙伴一定发现了,为啥可以配置的扩展都是灰色不可选状态呢?
其实我们只需要把disable configuration for……前面的勾取消掉,就可以选择了,选择后就可以发现Table of Contents等很多都可以选择了。

为啥会出现上面的取消勾选就可用呢?这是由于我们取消掉了 disable configuration for nbextensions without explicit compatibility (they may break your notebook environment, but can be useful to show for nbextension development) (来自百度翻译: 在没有明确兼容性的情况下禁用nbextensions的配置(它们可能会破坏您的笔记本电脑环境,但对nbextension开发很有用) )。正常情况下,我也不建议大家这样用,因为从上图就可以看出Table of Contents兼容notebook 4.x, 5.x,而我们安装的notebook版本是6.1.1。我又是咋知道的呢?可以通过命令pip list来看到。
pip list | findstr "notebook"
pip show notebook

如果不通过取消勾选来实现Table of Contents可用,我们可以安装notebook 5.7.8版本即可。
# 方法一:
pip uninstall notebook
pip install notebook==5.7.8
# 方法二(20210217日新增):
pip install nbconvert==5.6.1

最后我们再来看看我做的目录结构吧^_^

如果安装过程中遇到任何问题,欢迎咨询~
原创文章,作者:Steven,如若转载,请注明出处:https://www.saveutime.net/table-of-contents.html