Jekyll中支持Jupyter Notebook

方法一: 转换成md格式

  1. 可以直接在Notebook里面将.ipynb文件另存为.md格式.
  2. 可以用nbconvert 命令进行转换.
ipython nbconvert jekyll_test.ipynb --to markdown

这里注意, 转换图片会保存到jekyll_test_files, 即nb名_files文件夹.

Linode: Display Jupyter Notebooks with Jekyll

方法二: 使用gem库

Github: Jekyll Jupyter Notebook plugin

gem install jekyll-jupyter-notebook

然后编辑 Jekyll博客的_config.yml 文件, 修改plugins项, 例如有多项时, 可以用[.., ...]格式.

plugins: [jekyll-paginate, jekyll-jupyter-notebook]

直接生成网页

将notebook文件放入到_post/文件夹内, 并保持2018-01-01-titile.ipynb 类似的格式. 在执行jekyll server后, 会将ipynb转换成html格式, 会生成/2018/01/01/title/index.html.

实际上, 在jeykll server运行时, 会将ipynb转换成html文件, 但在_post文件夹内, 只有符合格式的文件才进行了转换. 其他不符合文件名格式的 ipynb不会被转换.

引用到markdown内

这个用法参考官网, 但要注意, ipynb文件不能像上述一样放在_post内, 否则转换后不能使用.

在markdown文件内, 加入以下:

{% jupyter_notebook "/notebook/sample.ipynb" %}

如果对于kramdown出现一些奇怪问题, 可以:

{::nomarkdown}
{% jupyter_notebook "/notebook/sample.ipynb" %}
{:/nomarkdown}

例如我在_post/2018-01-01-mynote.md 里面加入上述一句话, 在Jekyll内新建notebook文件夹, 里面放入sample.ipynb文件, 在开启jekyll server后, 会将该文件转换成/notebook/sample.ipynb.html文件(其他非_post或类似文件夹内等效). 打开/2018/01/01/mynote/index.html, 就会发现自己的markdown网页里引用了该notebook.

直接生成网页适用于快速展示notebook, 我比较喜欢这种方法. 而引入到markdown内适合进行部分内容展示. 两者各有好坏吧.

Enjoy!

猜你喜欢

转载自blog.csdn.net/weixin_34384557/article/details/87015214