Instrukcje dotyczące ToC JupyterLab
Istnieje już wiele dobrych odpowiedzi na to pytanie, ale często wymagają one poprawek, aby poprawnie współpracować z notebookami w JupyterLab. Napisałem tę odpowiedź, aby szczegółowo opisać możliwe sposoby umieszczania ToC w notatniku podczas pracy i eksportowania z JupyterLab.
Jako panel boczny
Rozszerzenie jupyterlab-toc dodaje ToC jako panel boczny, który może numerować nagłówki, zwijać sekcje i być używany do nawigacji (zobacz poniższy gif dla demonstracji). Zainstaluj za pomocą następującego polecenia
jupyter labextension install @jupyterlab/toc
W zeszycie jako komórka
W tej chwili można to zrobić ręcznie, jak w odpowiedzi Matta Dancho, lub automatycznie przez rozszerzenie notebooka toc2 jupyter
w klasycznym interfejsie notebooka.
Najpierw zainstaluj toc2 jako część pakietu jupyter_contrib_nbextensions :
conda install -c conda-forge jupyter_contrib_nbextensions
Następnie uruchom JupyterLab, przejdź do Help --> Launch Classic Notebook
i otwórz notatnik, w którym chcesz dodać ToC. Kliknij symbol toc2 na pasku narzędzi, aby wyświetlić ruchome okno ToC (zobacz poniższy gif, jeśli nie możesz go znaleźć), kliknij ikonę koła zębatego i zaznacz pole „Dodaj komórkę ToC notatnika”. Zapisz notatnik, a komórka ToC będzie tam, gdy otworzysz go w JupyterLab. Wstawiona komórka to komórka przeceny zawierająca kod HTML, nie zaktualizuje się automatycznie.
Domyślne opcje toc2 można skonfigurować na karcie „Nbextensions” na stronie uruchamiania klasycznego notatnika. Możesz np. Wybrać numerowanie nagłówków i zakotwiczenie ToC jako paska bocznego (co osobiście uważam za bardziej przejrzyste).
W wyeksportowanym pliku HTML
nbconvert
może być używany do eksportowania notatników do HTML zgodnie z zasadami formatowania eksportowanego HTML. Wspomniane toc2
rozszerzenie dodaje format eksportu o nazwie html_toc
, który może być używany bezpośrednio z nbconvert
linii poleceń (po zainstalowaniu toc2
rozszerzenia):
jupyter nbconvert file.ipynb --to html_toc
# Append `--ExtractOutputPreprocessor.enabled=False`
# to get a single html file instead of a separate directory for images
Pamiętaj, że polecenia powłoki można dodawać do komórek notatnika, poprzedzając je wykrzyknikiem !
, więc możesz umieścić tę linię w ostatniej komórce notatnika i zawsze mieć plik HTML z ToC wygenerowany po naciśnięciu przycisku „Uruchom wszystkie komórki” ( lub cokolwiek z czego chcesz nbconvert
). W ten sposób możesz używać jupyterlab-toc
do nawigacji w notebooku podczas pracy i nadal otrzymywać ToC w wyeksportowanych wynikach bez konieczności uciekania się do korzystania z klasycznego interfejsu notebooka (dla purystów wśród nas).
Zwróć uwagę, że skonfigurowanie domyślnych opcji toc2 zgodnie z powyższym opisem nie zmieni formatu nbconver --to html_toc
. Musisz otworzyć notatnik w klasycznym interfejsie notatnika, aby metadane zostały zapisane w pliku .ipynb (nbconvert czyta metadane podczas eksportu). Alternatywnie możesz dodać metadane ręcznie za pomocą zakładki Narzędzia notatnika na pasku bocznym JupyterLab, np. lubić:
"toc": {
"number_sections": false,
"sideBar": true
}
Jeśli wolisz podejście oparte na GUI, powinieneś być w stanie otworzyć klasyczny notatnik i kliknąć File --> Save as HTML (with ToC)
(chociaż zauważ, że ta pozycja menu nie była dla mnie dostępna).
Powyższe gify są powiązane z odpowiednią dokumentacją rozszerzeń.