This extension was added to the core JupyterLab extensions for JupyterLab 3.0. Anyone using JupyterLab < 3.0 should use this extension, but anyone using JupyterLab >= 3.0 will already have this extension installed with the core JupyterLab extensions. Any issues or pull requests should be added to the JupyterLab repo.
A Table of Contents extension for JupyterLab. This auto-generates a table of contents in the left area when you have a notebook or markdown document open. The entries are clickable, and scroll the document to the heading in question.
Here is an animation showing the extension's use, with a notebook from the Python Data Science Handbook:
- JupyterLab >=2.0
- NodeJS 12+
jupyter labextension install @jupyterlab/toc
Once installed, extension behavior can be modified via the following settings which can be set in JupyterLab's advanced settings editor:
- collapsibleNotebooks: enable the ability to collapse sections of notebooks from the ToC
For a development install, do the following in the repository directory:
jlpm install jlpm run build jupyter labextension install .
You can then run JupyterLab in watch mode to automatically pick up changes to
@jupyterlab/toc. Open a terminal in the
@jupyterlab/toc repository directory and enter
jlpm run watch
Then launch JupyterLab using
jupyter lab --watch
This will automatically recompile
@jupyterlab/toc upon changes, and JupyterLab will rebuild itself. You should then be able to refresh the page and see your changes.