如何将 Jupyter Notebook 转换为适合 Wordpress 的 HTML

Posted

技术标签:

【中文标题】如何将 Jupyter Notebook 转换为适合 Wordpress 的 HTML【英文标题】:How to Convert Jupyter Notebook to Wordpress suitable HTML 【发布时间】:2017-09-06 10:35:34 【问题描述】:

本周我制作了一个 Jupyter 笔记本,这对于我的博客来说是一篇很棒的文章。我已经发现您可以使用以下命令将此笔记本导出为可嵌入网页的简化 html 格式:

jupyter nbconvert mynotebook.ipynb --to html --template basic

但是,我想更改一些简单的事情。例如:现在每个标题都以“行尾字符”结尾,输入和输出之间没有明显的区别。

在 Jupyter 的 NBConvert 文档页面上,我找不到任何有关更改模板的信息 (https://ipython.org/ipython-doc/3/notebook/nbconvert.html)。他们只说

“IPython 为一些输出格式提供了一些模板,这些 可以通过附加的 --template 参数指定。"

是否可以指定您自己的模板?我在哪里可以找到我想要调整的“基本”模板?

【问题讨论】:

你试过这里描述的方法吗?pythonandr.com/2016/07/18/… 如果您按照该方法所述粘贴 HTML,则会出现许多格式中断,包括所有图像。 WordPress 不能只保留 HTML 原样。 【参考方案1】:

您必须在 wordpress 中安装以下插件:“oEmbed Gist”

然后只需完成这些步骤:

1/将您的笔记本粘贴到您在 github 上的 gist 中(不要忘记添加 .ipynb 扩展名)。

2/只需将链接粘贴到您的要点,wordpress 就会为您完成所有工作

【讨论】:

如何处理私有数据(私有 git);我们的 wordpress 已经是私有的 为什么这比使用 nbconvert 和 github 链接更好或更差?【参考方案2】:

只有当您是 wordpress 的高级会员时,才能安装 oEmbed Gist 插件。但是,插入

[gist linkToYouGist]

进入 wordpress 帖子,就能胜任!

【讨论】:

虽然它看起来像在滚动窗口中,但我该怎么做才能使它成为一个完整的窗口。【参考方案3】:

对于那些希望将 HTML 加载到 Wordpress(而不是通过 Gist 嵌入)的人,您可以使用 nb2wp 工具将笔记本转换为不需要插件、CSS 和任何脚本的纯 HTML .将提取图像并将 Latex 指令转换为 WP Latex 指令。

该实用程序的作用如下:

使用 nbconvert 使用选定的模板(完整、基本或自定义)将 .ipynb 转换为 HTML 使用 pynliner 将 CSS 转换为内联样式,以便 Wordpress 支持该样式。默认情况下,它将 nbconvert 给出的 CSS 替换为自定义的更简单的 style.css,可以由 pynliner 内联。 提取嵌入的图像(如 Matplotlib 生成的图像)​​和本地图像到 img 目录。您需要将此 img 目录上传到某处并提供图片的 URL 前缀。 将 Latex 指令转换为 Wordpress.com Latex 指令。

然后你需要做一些手工工作:

将其中的 HTML 复制粘贴到 Wordpress HTML 编辑器 上传图片目录。

这远非理想,结果也不是很好,但我想这是一个开始和替代方案。 (免责声明:我是作者)

【讨论】:

看起来是个很棒的工具!谢谢你!【参考方案4】:

您还可以使用 nbconvert – Jupyter 笔记本的 wordpress 插件。关注这个详细的博客 (https://www.andrewchallis.co.uk/portfolio/php-nbconvert-a-wordpress-plugin-for-jupyter-notebooks/),作者在其中解释了要遵循的步骤、优缺点。

【讨论】:

【参考方案5】:

我制作了一个笔记本 Wordpress 插件,该插件适用于他托管笔记本的任何 URL!我很快就会将它公开添加到 Wordpress 中。

https://www.andrewchallis.co.uk/portfolio/php-nbconvert-a-wordpress-plugin-for-jupyter-notebooks/

它的使用方式与 gist 插件相同,只是它被称为 nbconvert

[nbconvert url=“Www.example.co.uk/path/to/some/notebook.ipynb”

【讨论】:

请不要只发布一些工具或库作为答案。至少在答案本身中展示how it solves the problem。 我已更新以显示示例,但我没有提供填充解决方案的原因是该插件尚未公开。 至少从 2018 年 5 月 22 日起,帖子中的 URL 会转到 404 Not Found 页面。 更新了链接! 链接不幸死了:(

以上是关于如何将 Jupyter Notebook 转换为适合 Wordpress 的 HTML的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jupyter notebook 将具有多个工作表的 Excel 文件转换为多个 csv 文件

Jupyter Notebook导出pdf文件

安装 MikTex、pandoc 和 nbconvert 后将 Jupyter Notebook 转换为 PDF 时出错

如何将 Jupyter notebook 安装到 linux 虚拟机中

如何在jupyter-notebook中打印字典?

如何将变量从 EMR 集群传递到 Jupyter Notebook %%local 实例?