【问题标题】:Posting Jupyter Notebook html notes发布 Jupyter Notebook html 笔记
【发布时间】:2018-08-16 21:17:15
【问题描述】:

我是编码初学者,我正在尝试使用博客来记录学习笔记。

我正在为 python 使用 jupyter notebook,但找不到任何解决方案来简单地将 html 代码的 sn-p 复制到博客中。我现在只能通过saving examples/notes as an image做到这一点

有没有简单的方法,比如this

【问题讨论】:

标签: python html jupyter-notebook


【解决方案1】:

有几种方法可以做到这一点,但我不确定它们是否像您想象的那样快速/简单。其中很多还取决于您使用的博客平台。例如,您发布的第二个示例看起来更像是复制/粘贴然后由他们的博客平台格式化的原始代码

您可以尝试以下几种方法,但它们都没有提供直接的“导出单元”功能。他们还假设您只需要一个静态笔记本来显示:

导出为 HTML

转到File > Download as > HTML

这将为您提供一个 HTML 页面,其中所有单元格都被很好地呈现。提取特定单元格以在博客上发布并不是一件容易的事,但如果您只想显示整个笔记本,您可以将所有内容作为 HTML 上传到您的博客所在的任何位置。

它看起来和你的完整笔记本一模一样:

导出基本 HTML 模板

您可以使用 nbconvert 为您的笔记本提供基本的 HTML 渲染。打开终端,进入笔记本所在目录,输入:

jupyter nbconvert name_of_notebook.ipynb --template basic

这将为您提供一个没有所有华丽样式的 html 页面。这使您只需将所需的特定单元格(作为 HTML)复制/粘贴到您的博客中变得更加容易。然后,您的博客需要一些样式/语法突出显示以使其看起来更漂亮

这看起来像你的笔记本的简单渲染:

顺便说一句,第一个选项(导出完整的 HTML 页面)也在幕后使用 nbconvert,只是没有 --template basic 参数

导出到markdown

转到File > Download as > Markdown

如果您的博客平台支持 markdown,您可以将笔记本导出为 markdown 文件,无需所有样式,然后将所需的单元格复制/粘贴到您的博客文章中。同样,您需要一种在博客上设置样式的方法

这将为您提供基本的降价代码,您可以在任何地方复制/粘贴:

```python
a = 2
b = 5
print(a+b)
```

    7

上传到 nbviewer

http://nbviewer.jupyter.org/

如果您将笔记本作为 github gist、github 存储库或网络上的任何其他直接位置上传,您可以使用 nbviewer 将其呈现为一个不错的网页,但您不能提取元素放置在你的博客中,所以不确定这对你的目的有多大用处

在 Wordpress 上设置 HTML/markdown 样式

如果您使用 wordpress 作为您的博客平台,有一些有用的插件可以让您的过程更轻松:

  • 如果您导出了 Markdown 文件,您可以使用像 Jetpack 这样的插件,它可以在博客文章/页面中支持 Markdown
  • 如果您已将代码复制/粘贴到博客文章中(通过复制 HTML、markdown 或原始代码),您可以使用语法高亮显示其样式,例如 Crayon
  • 如果您真的希望您的代码看起来像一个 jupyter 笔记本单元格,您可以使用像 Simple Custom CSS 这样的插件来设置自定义样式,但这需要相当多的工作。有几个网站展示了如何将 CSS 设置为看起来像笔记本单元格(例如 http://www.mianchen.com/wordpress-blogging-with-jupyter-notebook-in-five-simple-steps/
  • 如果您将 notebook 作为 github gist 上传,您可以使用 oEmbed Gist 将 notebook 代码嵌入到您的帖子中

对于我自己的博客,我找到了最简单的解决方案,只需将原始代码直接复制/粘贴到我的博客文章中,然后使用博客平台(在我的情况下为 Wordpress)上的插件来设置代码块的样式

【讨论】:

  • 谢谢。我没有使用博客平台,而是我自己的域和 html。参考您的“导出到 html”部分,如何将保存的 html 文件插入到主 html 文件中?我正在使用:<object type="text/html" data="Untitled7.html"></object>,但它有点被压扁了。猜猜我需要为此调整 CSS 吗?
  • 无需使用 CSS。 object 标签包含高度和宽度属性,因此您可以调整嵌入对象的大小:<object type="text/html" width=500 height=500 data="Untitled7.html"></object>。当然,如果你选择走这条路,CSS 会给你更多的样式选择
猜你喜欢
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
  • 2015-05-12
  • 2020-11-04
  • 1970-01-01
  • 2021-01-27
相关资源
最近更新 更多