为 jupyter 笔记本集合生成可导航的书状结构
项目描述
存档
由于与Binder的命名冲突,此打包已被存档,并由重命名的版本NBJoint 保留。
NBBinder - Jupyter 笔记本活页夹
NBBinder为 Jupyter 笔记本的集合生成可导航的书状结构。
目录
描述
这个模块中的主要函数被调用bind()
。它从给定目录中读取 Jupyter 笔记本的集合,并在配置后,
-
将目录添加到选定的笔记本文件中,并带有指向其他笔记本的链接;
-
为每个笔记本添加一个标题单元格,其中包含有关笔记本集合的自定义信息;
-
为每个笔记本添加一个徽章单元,其中包含以不同平台或格式打开笔记本的链接。例如,可以包括一个Google Colab 徽章和一个Binder 徽章,其中包含在这些云计算平台中打开每个笔记本的链接,一个用于显示使用导出的幻灯片
nbconvert
的徽章,等等。 -
在每个笔记本的开头和末尾添加导航器链接,其中包含指向上一个和下一个笔记本以及其他选定笔记本的链接,例如目录和参考;
-
使用 将笔记本导出
nbconvert
为其他格式,例如,可以自动批量生成幻灯片。
例子
有点味道
例如,在正确配置后(请参阅下面的带有幻灯片和云计算徽章的笔记本部分),文件夹Water bare collection中的裸笔记本集合绑定到文件夹 Water bound collection,特别是文件00.00-Water_Contents。 ipynb接收目录、标题、导航单元和徽章
下面我们将更详细地展示一些示例。
配置文件示例
使用模块或脚本最方便的方法是通过配置文件。配置文件以YAML格式编写。
例如,考虑以下内容config_nb_alice.yml
,它包含在tests
存储库的文件夹中:
# Configuration file for the python module NBBinder
version: 0.13a
path_to_notes: nb_builds/nb_alice
contents:
toc_nb_name: 00.00-Alice's_Adventures_in_Wonderland.ipynb
toc_title: Table of Contents
show_index_in_toc: True
header: "NBBinder test on a collection of notebooks named after the chapters of 'Alice's Adventures in Wonderland'"
navigators:
core_navigators:
- 00.00-Alice's_Adventures_in_Wonderland.ipynb
show_nb_title_in_nav: False
show_index_in_nav: False
笔记本收藏
文件夹中包含以下索引笔记本集合tests/nb_builds/nb_alice
:
00.00-Alice's_Adventures_in_Wonderland.ipynb
01.00-Down_the_Rabbit-Hole.ipynb
02.00-The_Pool_of_Tears.ipynb
03.00-A_Caucus-Race_and_a_Long_Tale.ipynb
04.00-The_Rabbit_Sends_in_a_Little_Bill.ipynb
05.00-Advice_from_a_Caterpillar.ipynb
06.00-Pig_and_Pepper.ipynb
07.00-A_Mad_Tea-Party.ipynb
08.00-The_Queen's_Croquet-Ground.ipynb
09.00-The_Mock_Turtle's_Story.ipynb
10.00-The_Lobster_Quadrille.ipynb
11.00-Who_Stole_the_Tarts?.ipynb
12.00-Alice's_Evidence.ipynb
绑定集合
绑定笔记本集合的一种方法是导入模块并使用bind()
此配置文件作为参数的函数:
import nbbinder as nbb
nbb.bind('config_nb_alice.yml')
或者我们在命令行中将其作为脚本执行:
./nbbinder.py config_nb_alice.yml
在tests
目录中,配置文件实际上和脚本不在同一个文件夹中。该集合是两个文件夹。path_to_notes: nb_builds/nb_alice
这由配置文件中给出的参数 指示。
结果
以上述两种方式之一绑定笔记本后,在第一个笔记本中插入以下目录00.00-Alice's_Adventures_in_Wonderland.ipynb
:
Table of Contents
Alice's Adventures in Wonderland
1. Down the Rabbit-Hole
2. The Pool of Tears
3. A Caucus-Race and a Long Tale
4. The Rabbit Sends in a Little Bill
5. Advice from a Caterpillar
6. Pig and Pepper
7. A Mad Tea-Party
8. The Queen's Croquet-Ground
9. The Mock Turtle's Story
10. The Lobster Quadrille
11. Who Stole the Tarts?
12. Alice's Evidence
有关第一个笔记本的实际绑定版本,请参见00.00-Alice's_Adventures_in_Wonderland.ipynb。请注意笔记本开头的标题以及标题之后和笔记本末尾的导航器单元格。尝试使用导航器链接移动到其他笔记本。
带小节的笔记本
通过适当地命名文件,我们可以为目录设置不同的格式。例如,如果您的文件列表是
00.00-Front_Page.ipynb
01.00-Introduction.ipynb
02.00-Project_Requirements.ipynb
03.00-The_History_of_Grammar.ipynb
04.00-Parts_of_Speech.ipynb
04.01-Nouns.ipynb
04.02-Verbs.ipynb
04.03-Adjectives.ipynb
04.04-Adverbs.ipynb
05.00-Sentences.ipynb
05.01-Complex_Sentences.ipynb
05.02-Compound_Sentences.ipynb
06.00-Paragraphs.ipynb
06.01-Descriptive.ipynb
06.02-Expository.ipynb
06.03-Narrative.ipynb
06.04-Persuasive.ipynb
07.00-Conclusion.ipynb
A0.00-Appendix.ipynb
BA.00-Glossary.ipynb
BB.00-Bibliography.ipynb
BC.00-Index.ipynb
通过合适的配置,我们得到了目录
Table of Contents
Front Page
1. Introduction
2. Project Requirements
3. The History of Grammar
4. Parts of Speech
4.1. Nouns
4.2. Verbs
4.3. Adjectives
4.4. Adverbs
5. Sentences
5.1. Complex Sentences
5.2. Compound Sentences
6. Paragraphs
6.1. Descriptive
6.2. Expository
6.3. Narrative
6.4. Persuasive
7. Conclusion
A. Appendix
Glossary
Bibliography
Index
第一个笔记本的实际绑定版本见00.00-Front-Page.ipynb。
此集合中笔记本的活页夹配置为包含徽章,以在nbviewer中呈现Jupyter 笔记本本身或导出到 markdown 的版本。徽章单元位于标题下方。只需用鼠标右键单击徽章即可将其打开。如果在 github 中用右键单击它,则不会发生任何事情。
带预标题的笔记本
这对于讲义特别有用。例如,通过将您的笔记本集合命名为
00.00-Introduction.ipynb
01.00.Lecture-Math_Background.ipynb
01.01-Vector_Calculus.ipynb
01.02-Rigid_Motions.ipynb
02.00.Lecture-Kinematics.ipynb
02.01.Lecture-Velocity_and_Acceleration.ipynb
02.02.Lecture-Different_Types_of_Motions_and_Their_Components.ipynb
03.00.Lecture-Dynamics.ipynb
03.01..Part-Force_and_Momentum.ipynb
03.02..Part-Orbits_of_Planets_and_Satellites.ipynb
03.03..Part-Interception_and_Rendezvous.ipynb
04.00.Lecture-Trajectory_Optimization.ipynb
04.01.Lecture.Part-Performance.ipynb
04.02.Lecture.Part-Gravity_Turn.ipynb
04.03.Lecture.Part-Optimization.ipynb
AA.00-References.ipynb
通过合适的配置,我们得到了目录
Contents
Introduction
Lecture 1. Math Background
1.1. Vector Calculus
1.2. Rigid Motions
Lecture 2. Kinematics
Lecture 2.1. Velocity and Acceleration
Lecture 2.2. Different Types of Motions and Their Components
Lecture 3. Dynamics
Part 1. Force and Momentum
Part 2. Orbits of Planets and Satellites
Part 3. Interception and Rendezvous
Lecture 4. Trajectory Optimization
Lecture 4. Part 1. Performance
Lecture 4. Part 2. Gravity Turn
Lecture 4. Part 3. Optimization
References
有关第一个笔记本的实际绑定版本,请参见00.00-Introduction.ipynb。
请注意,上面显示同一讲义的不同部分的不同形式。
此集合中笔记本的活页夹配置为包含一个徽章,以便在nbviewer中打开它们。徽章位于标题下方。只需用鼠标右键单击徽章即可将其打开。如果在 github 中用右键单击它,则不会发生任何事情。
带有幻灯片和云计算徽章的笔记本
以下配置文件用于Water文件夹中的文件集合:
# Configuration file for the python module NBBinder
version: 0.13a
path_to_notes: nb_builds/nb_water
contents:
toc_nb_name: 00.00-Water_Contents.ipynb
toc_title: Table of Contents
show_index_in_toc: True
header: "[*NBBinder test on a collection of notebooks about some thermodynamic properperties of water*](https://github.com/rmsrosa/nbbinder)"
navigators:
core_navigators:
- 00.00-Water_Contents.ipynb
- BA.00-References.ipynb
show_nb_title_in_nav: True
show_index_in_nav: False
badges:
- title: Open in Google Colab
url: https://colab.research.google.com/github/rmsrosa/nbbinder/blob/master/tests/nb_builds/nb_water
src: https://colab.research.google.com/assets/colab-badge.svg
- title: Open in binder
url: https://mybinder.org/v2/gh/rmsrosa/nbbinder/master?filepath=tests/nb_builds/nb_water
src: https://mybinder.org/badge.svg
- title: View in NBViewer
url: https://nbviewer.jupyter.org/github/rmsrosa/nbbinder/blob/master/tests/nb_builds/nb_water
label: view in
message: nbviewer
color: orange
- title: View Slides
url: https://nbviewer.jupyter.org/github/rmsrosa/nbbinder/blob/master/tests/nb_builds/nb_water_slides
extension: .slides.html
label: view
message: slides
color: darkgreen
exports:
- export_path: nb_builds/nb_water_slides
exporter_name: slides
exporter_args:
reveal_scroll: True
绑定集合后,创建文件夹水绑定集合。请参阅第一个笔记本的00.00-Water_Contents.ipynb,其中包含目录。现在,每个笔记本都有一个徽章单元,其中包含用于在Google Colab、Binder和nbviewer中打开笔记本的徽章,以及用于打开相关Reveal.JS幻灯片的最终徽章。
对于幻灯片,根据配置文件中与键关联的参数,通过nbconvert创建文件夹Water Slides 。exports
徽章单元看起来像
安装
该模块在PyPI中可用,安装完成
pip install nbbinder
该模块也可以直接从 github.com/rmsrosa/nbbinder 下载。
有关安装过程的更多信息,请参阅 NBBinder 文档的安装部分。
文档
NBBinder 的文档托管在nbbinder.readthedocs.io上。
发展
在项目的当前 alpha 阶段,正在master
分支中进行开发,这是当前存储库中唯一的分支。
当第一个beta
版本发布时,最新的稳定版本将留在master
分支中,开发将属于一个单独的development
分支。
维护者
执照
这个包中的工作是在MIT许可下获得许可的。
这项工作基于Python Data Science Handbook/tools中的一些脚本,被认为是原创作品,由Jake VanderPlas在MIT 许可下授权。
查看LICENSE
项目根目录下的文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。