【问题标题】:Table of contents in Jupyter notebooks on GitHubGitHub 上 Jupyter 笔记本中的目录
【发布时间】:2019-07-30 15:34:25
【问题描述】:

我在 Jupyter 笔记本中使用 HTML 锚点来提供内部链接,例如在目录和“返回顶部”中使用的链接。这在我的电脑上效果很好。但是,当我将笔记本上传到 GitHub 时,不可见的锚点变得可见,并且链接不再起作用。如何解决这个问题?

以下是 GitHub 上存在此问题的一些笔记本:

https://github.com/mathyingzhou/linear_algebra_demos/blob/master/01-LinearSystems/Solving%20linear%20systems.ipynb

https://github.com/mathyingzhou/boston-crime/blob/master/Boston%20Crime.ipynb

【问题讨论】:

  • 在 github 中发布示例链接或显示代码示例可能会有所帮助
  • @pistolpete 当然!完成了!

标签: python github jupyter-notebook


【解决方案1】:

不要认为你可以根据 github 做很多事情:

working-with-jupyter-notebook-files-on-github

【讨论】:

    【解决方案2】:

    截至 2020 年 6 月 18 日,对此有几点建议。

    在你的

    <a id = "1"></a>
    

    '=' 前后各有一个空格。我已经对此进行了测试,并且在本地还可以(不可见),但是 GitHub 在解析时会中断并使其可见。

    您似乎采用了 Sebastian Raschka 的 tip 将锚标记放在包含内容的标记上方的空降价单元格中。我觉得这没有必要。我无法通过打印预览或“下载为”HTML 重现 Sebastian 的问题。也许 Jupyter 的行为已经改变(那是六年前他发布的那篇文章!)。你应该会发现markdown

    # A content heading<a id='headingid'></a>
    

    有效。当我测试它时,这在本地和 GitHub 上都是不可见的。您还可以使用降价链接到它,例如

    I want to refer to my [heading](#headingid) now
    

    这在您的笔记本中用作本地可点击链接。它确实在 Github 自己的渲染器中作为可点击链接工作。当您将笔记本的 URL 粘贴到 nbviewer 中时,它确实可用作可点击链接。我也在本地尝试过 File |下载为 | html,获取 ipynb 的 html 版本,我的浏览器会按预期呈现,并且链接是可点击的并且可以工作。

    这是我最近一直在看的东西,上面是我目前最好的工作方法,即将锚标记附加到您想要的降价文本,等号之前/之后不要有空格。它在 GitHub 中看起来不错,只是没有可点击的链接。我不确定是否有使用 GitHub 的方法。

    如果有人发现此答案有用,我将不胜感激,因为这是我正在研究并寻找自动化方法的事情。 Upvotes 既会鼓励我,我也愿意接受 cmets,这些 cmets 可以为我提供一些想法,让我在编写的任何内容中包含这些功能以实现自动化。

    【讨论】:

      【解决方案3】:

      您可以使用“nbviewer”来渲染和服务您的笔记本,而不是 GitHub 的渲染器。因此,您可以在存储库的 ReadMe.md 文件中提供指向笔记本的链接,例如,如下所示:

      https://nbviewer/github/<mygithubprofile>/<link2mynotebook>
      

      看看@martijn-pieters 在这篇文章中提供的答案: HTML anchors in a Jupyter notebook on Github

      这为我解决了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        • 2018-09-21
        • 2017-11-05
        • 2020-07-19
        • 1970-01-01
        • 2013-03-18
        相关资源
        最近更新 更多