自从 Python 在数据科学方面火热起来之后,应该很少有人对 Jupyter Notebook 不熟悉的,因为做数据分析或数据处理,它可以说是必备的一个工具。但是,你可能不知道是,Jupyter 还可以用来写书,真实的效果比起 Gitbook 其实也是差不了多少的。

之所以能用来写书,是因为 Jupyter 出了一个类似 bookdown 的工具,叫做 Jupyter Book。今天我们要介绍的,就是如何利用 Jupyter Book 将你的技术笔记或经验沉淀下来,变成一本在线书籍发表哦

什么是 Jupyter Book?

用 Jupyter Notebook 写书_java

Jupyter Book 背后的概念,其实很简单:

将 .ipynb 文件,转换成 Markdown 文件 然后使用 Jekyll 生成静态网页

靠着这个机制,可以顺利地将 Jupyter Notebook 文件和 Markdown 文件渲染成网页。官网上介绍了几个特性,比较厉害的有:

  1. 支持直接下载 ipynb 文件

  2. 可自动添加 Binder、JupyterHub、Theblab 等平台的链接

  3. 快速导航、隐藏代码块等等

用 Jupyter Notebook 写书_java_02

如何上手?

安装

可以使用 pip ,在终端快速安装 Jupyter Book 的命令行(对,提供了方便的命令行操作):

pip install jupyter-book

创建新书

安装之后,可以使用官网提供的 demo 创建一本新书:

jupyter-book create mybookname --demo

执行完命令行,你就可以在指定的目录下找到生成的文件,结构如下:

mybookname/├── assets│   └── custom│       ├── custom.css│       └── custom.js├── _config.yml├── content│   ├── features│   │  ├── features.md│   │  └── notebooks.ipynb│   └── LICENSE.md├── _data│   └── toc.yml└── requirements.txt

书中的内容,全部在 /content 文件夹的 .md.ipynb 文件里。

具体每个文件的作用,可以前往官网了解详情

渲染内容

内容更新之后,需要执行命令,构建 Jekyll 所需的 Markdown 文件:

jupyter-book build mybookname

到这里,就大工告成了!剩下的工作,就是将内容发布到网上。你可以选择推送到 Github Pages,也可以发布到自己的服务器上。