我在Jupyter笔记本中使用HTML锚点来提供内部链接,例如目录和“返回顶部”所使用的链接。这在我的电脑上非常有效。然而,当我将笔记本上传到GitHub时,不可见的锚点变为可见,并且链接无法使用。如何解决这个问题?
这里有一些在GitHub上存在此问题的笔记本:
https://github.com/mathyingzhou/boston-crime/blob/master/Boston%20Crime.ipynb
我在Jupyter笔记本中使用HTML锚点来提供内部链接,例如目录和“返回顶部”所使用的链接。这在我的电脑上非常有效。然而,当我将笔记本上传到GitHub时,不可见的锚点变为可见,并且链接无法使用。如何解决这个问题?
这里有一些在GitHub上存在此问题的笔记本:
https://github.com/mathyingzhou/boston-crime/blob/master/Boston%20Crime.ipynb
以下是2020/06/18的一些指针。
在你的
"<a id = "1"></a>
你在等号前后有一个空格。我已经测试过,本地看起来没问题(不可见),但是在GitHub解析时会显示出来。
你似乎采用了Sebastian Raschka的tip,将锚点标签放在内容下面的空白markdown单元格中。我认为这并不必要。我无法重现Sebastian的问题,无论是打印预览还是“下载为”HTML。也许Jupyter的行为已经改变了(他发表那篇文章已经六年了!)。你应该发现markdown
# A content heading<a id='headingid'></a>
这有效。本地和在GitHub上测试时,这是不可见的。您也可以使用类似于markdown的方式链接到它。
I want to refer to my [heading](#headingid) now
这在您的笔记本中作为可点击链接有效。它在 Github 自己的渲染器中不起作用。当您将笔记本的 URL 粘贴到 nbviewer 中时,它可以作为可点击链接工作。我还尝试了在本地使用“文件 | 下载为 | html”来获取 ipynb 的 html 版本,我的浏览器按预期呈现此版本,并且链接是可点击的并且有效。
这是我最近研究的内容,上述方法是目前最好的解决方案。即将锚标签附加到所需的 markdown 文本中,在等号前/后不要有空格。在 GitHub 上看起来没问题,只是您无法单击链接。我不确定是否有任何方法可以在 GitHub 上解决这个问题。
如果有人发现这个答案有用,我会感激点赞,因为这是我正在努力研究和寻找自动化方法的事情。点赞既会鼓励我,也会让我接受评论,以便提供给我想要自动化的功能的想法。
https://nbviewer/github/<mygithubprofile>/<link2mynotebook>
请看@martijn-pieters在这篇文章中提供的答案: 在Github上的Jupyter笔记本中使用HTML锚点
这对我解决了问题。