在Jupyter中导出时,如何在markdown单元格中转换<img/>标签?

时间:2017-07-21 19:39:53

标签: html image markdown jupyter nbconvert

我有一个大型的报告笔记本,它有很多图片。我没有使用![title](link)语法,而是使用<img src="link" align="right" width=100>代替,因此我可以更好地控制它们。

虽然这在Jupyter Server的笔记本中有效,但内联<img>标记会逐字呈现,而不是显示为图像

我认为问题存在于处理转换的nbconvert模块,但好像是similar issue has already been resolved

我的链接最初直接链接到http://个链接,但我已将它们全部拉到本地,并且仍然使用逐字HTML代码而不是图像。

In Jupyter vs rendered HTML

  • Jupyter版本:4.2.1
  • nbconvert版本:5.2.1
  • Python:3.6.1
  • 发行:Anaconda
  • 平台:Windows

2 个答案:

答案 0 :(得分:5)

正如本issue中所讨论的,这可能与mistune(nbconvert使用的)如何解析html属性有关。你有什么版本的迷雾?

如果你有mistune 0.7.3,你会遇到以下情况:

In [1]: import mistune

In [2]: mistune.markdown('\n <img src="link" align="right" widt
   ...: h=100>  \n', escape=False)
Out[2]: '<p>&lt;img src="link" align="right" width=100&gt;</p>\n'

In [3]: mistune.markdown('\n <img src="link" align="right" widt
   ...: h="100">  \n', escape=False)
Out[3]: '<p><img src="link" align="right" width="100"></p>\n'

In [4]: mistune.__version__
Out[4]: '0.7.3'

而0.7.4提供:

In [1]: import mistune

In [2]: mistune.markdown('\n <img src="link" align="right" widt
   ...: h=100>  \n', escape=False)
Out[2]: '<p><img src="link" align="right" width=100></p>\n'

In [3]: mistune.markdown('\n <img src="link" align="right" widt
   ...: h="100">  \n', escape=False)
Out[3]: '<p><img src="link" align="right" width="100"></p>\n'

In [4]: mistune.__version__
Out[4]: '0.7.4'

如果您为html属性添加引号 - 例如<img src="link" align="right" width="100"> - 可能会解决问题。

答案 1 :(得分:1)

降级错误解决了我的问题。

conda install mistune=0.7.2