HTML锚定在Github上的Jupyter笔记本中

Jef*_*eff 9 html markdown github ipython jupyter

因此,有很多关于在markdown中创建锚点以及在笔记本中创建内部表格内容类型锚点的内容.我需要的是能够从外部源访问Github笔记本中的锚点,例如:

https://github.com/.../mynotebook.ipynb#thiscell
Run Code Online (Sandbox Code Playgroud)

我有这样一些托管的交互式教程,还有一本我希望能够链接到笔记本部分的手册.我可以使用以下方法将锚标记添加到markdown单元格中:

<a id='thiscell'></a> 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用上面写的链接时,它只是将笔记本加载到顶部,就像没有引用锚一样.

Mar*_*ers 7

GitHub 使用单独的域 render.githubusercontent.com 呈现笔记本,并将输出集成到嵌套框架中。这意味着 GitHub URL 上的任何锚点都不起作用,因为框架文档是完全不同的 URL。

此外,框架内容不容易重复使用,结果是笔记本的缓存渲染具有有限的生命周期。你不能指望它留下来供以后链接!

因此,如果您需要能够链接到笔记本中的部分,那么最好使用 Jupyter 笔记本查看器服务https://nbviewer.jupyter.org/。它支持显示来自任何公共 URL 的笔记本,包括 GitHub 托管的存储库和 GitHub 要点。您也可以只输入您的 GitHub 用户名(或username/repository)以进行快速访问。

这个笔记本查看器比 GitHub 使用的功能丰富得多。GitHub 杀死了所有嵌入的 JavaScript,并去除了几乎所有的 HTML 属性。任何嵌入的动画都是正确的。但是 Jupyter nbviewer 服务支持那些直接开箱即用的服务。

例如在 nbviewer 上比较这两个笔记本:

在 GitHub 上使用相同的笔记本:

第一个在最后包含一个动画,第二个有一个复杂的表格,通过使用一些 HTML 样式和锚链接更容易阅读。


Ari*_*ide 3

我有同样的问题。作为解决方法,我已将笔记本的渲染委托给http://nbviewer.jupyter.org。只需提供其 GitHub公共URL 并单击“Go”即可!

当然,内部链接在 GitHub 下仍然不起作用,但我现在在网络上的某个地方有一个功能正常的笔记本,这正是我最初真正想要的。

我希望这也适用于您的情况。