Hướng dẫn JupyterLab ToC
Đã có nhiều câu trả lời hay cho câu hỏi này, nhưng chúng thường yêu cầu các chỉnh sửa để hoạt động bình thường với sổ ghi chép trong JupyterLab. Tôi đã viết câu trả lời này để trình bày chi tiết các cách có thể để đưa ToC vào sổ ghi chép khi làm việc và xuất từ JupyterLab.
Như một bảng điều khiển bên
Phần mở rộng jupyterlab-toc thêm ToC làm bảng điều khiển bên có thể đánh số tiêu đề, phần thu gọn và được sử dụng để điều hướng (xem gif bên dưới để biết bản trình diễn). Cài đặt bằng lệnh sau
jupyter labextension install @jupyterlab/toc
Trong sổ ghi chép như một ô
Hiện tại, điều này có thể được thực hiện thủ công như trong câu trả lời của Matt Dancho hoặc tự động thông qua tiện ích mở rộng sổ ghi chép toc2 jupyter
trong giao diện sổ ghi chép cổ điển.
Trước tiên, hãy cài đặt toc2 như một phần của gói jupyter_contrib_nbextensions :
conda install -c conda-forge jupyter_contrib_nbextensions
Sau đó, khởi chạy JupyterLab, truy cập Help --> Launch Classic Notebook
và mở sổ ghi chép mà bạn muốn thêm ToC. Nhấp vào biểu tượng toc2 trên thanh công cụ để hiển thị cửa sổ ToC nổi (xem gif bên dưới nếu bạn không tìm thấy), nhấp vào biểu tượng bánh răng và chọn hộp "Thêm ô ToC sổ ghi chép". Lưu sổ ghi chép và ô ToC sẽ ở đó khi bạn mở nó trong JupyterLab. Ô được chèn là ô đánh dấu có html trong đó, nó sẽ không tự động cập nhật.
Các tùy chọn mặc định của toc2 có thể được định cấu hình trong tab "Nbextensions" trong trang khởi chạy sổ tay cổ điển. Ví dụ, bạn có thể chọn đánh số các tiêu đề và neo ToC như một thanh bên (cá nhân tôi nghĩ rằng nó trông gọn gàng hơn).
Trong một tệp HTML đã xuất
nbconvert
có thể được sử dụng để xuất sổ ghi chép sang HTML sau các quy tắc về cách định dạng HTML đã xuất. Phần toc2
mở rộng được đề cập ở trên thêm một định dạng xuất được gọi là html_toc
, có thể được sử dụng trực tiếp nbconvert
từ dòng lệnh (sau khi toc2
phần mở rộng đã được cài đặt):
jupyter nbconvert file.ipynb --to html_toc
# Append `--ExtractOutputPreprocessor.enabled=False`
# to get a single html file instead of a separate directory for images
Hãy nhớ rằng các lệnh shell có thể được thêm vào các ô sổ tay bằng cách đặt trước chúng bằng dấu chấm than !
, vì vậy bạn có thể dán dòng này vào ô cuối cùng của sổ ghi chép và luôn có tệp HTML có ToC được tạo khi bạn nhấn "Chạy tất cả các ô" ( hoặc bất kỳ đầu ra nào mà bạn mong muốn nbconvert
). Bằng cách này, bạn có thể sử dụngjupyterlab-toc
để điều hướng sổ ghi chép trong khi đang làm việc và vẫn nhận được ToC trong đầu ra đã xuất mà không cần phải sử dụng giao diện sổ ghi chép cổ điển (đối với những người thuần túy trong số chúng ta).
Lưu ý rằng việc định cấu hình các tùy chọn toc2 mặc định như được mô tả ở trên, sẽ không thay đổi định dạng của nbconver --to html_toc
. Bạn cần mở sổ ghi chép trong giao diện sổ ghi chép cổ điển để siêu dữ liệu được ghi vào tệp .ipynb (nbconvert đọc siêu dữ liệu khi xuất) Ngoài ra, bạn có thể thêm siêu dữ liệu theo cách thủ công qua tab Công cụ sổ tay của thanh bên JupyterLab, ví dụ: giống:
"toc": {
"number_sections": false,
"sideBar": true
}
Nếu bạn thích cách tiếp cận theo hướng GUI, bạn có thể mở sổ ghi chép cổ điển và nhấp vào File --> Save as HTML (with ToC)
(mặc dù lưu ý rằng mục menu này không khả dụng cho tôi).
Các gif ở trên được liên kết từ tài liệu tương ứng của các phần mở rộng.