【问题标题】:Add download links to toctree将下载链接添加到 toctree
【发布时间】:2020-08-07 17:19:21
【问题描述】:

我想在我的目录树中添加一个带项目符号的下载链接列表。

理想情况下,它看起来像这样:

  • Foo Example

    • 下载 foo.py 文件
    • 下载 foo.ipynb 文件
  • Bar Example

    • 下载 bar.py 文件
    • 下载 bar.ipynb 文件

我试过了:

.. toctree::

   foo
   * :download:`download foo.py file <files/foo.py>`
   * :download:`download foo.ipynb file <files/foo.ipynb>`
   bar
   * :download:`download bar.py file <files/bar.py>`
   * :download:`download bar.ipynb file <files/bar.ipynb>`

但这失败了,因为toctree 只希望引用文档:

WARNING: toctree contains reference to nonexisting document '* :download:`download foo.py file <files/foo.py>`'

我最接近的是:

.. toctree::

   foo
   
* :download:`download foo.py file <files/foo.py>`
* :download:`download foo.ipynb file <files/foo.ipynb>`

.. toctree::

   bar

* :download:`download bar.py file <files/bar.py>`
* :download:`download bar.ipynb file <files/bar.ipynb>`

看起来像这样:

  • Foo Example

  • 下载 foo.py 文件

  • 下载 foo.ipynb 文件

  • Bar Example

  • 下载 bar.py 文件

  • 下载 bar.ipynb 文件

这看起来不太好,我的实际toctree 中有更多文档。有没有办法做到这一点?

【问题讨论】:

    标签: python python-sphinx toctree


    【解决方案1】:

    下载不是 reStructuredText 文档,并且不能是目录树中的条目。

    相反,您有两种解决方法。

    1. 使用完全限定的 HTTP URL 进行下载。

      .. toctree::
      
          https://helloworld.com/src/helloworld.py
      
    2. 创建一个包含下载链接的中间.rst 文档,并将该文档放入您的目录树中。

    【讨论】:

    • 有道理。我不知道完全限定的 HTTP URL 选项。谢谢!
    • @Matt 我通过仔细阅读toctree docs 找到了答案:“您还可以通过提供 HTTP URL 而不是文档名称来添加外部链接。”
    猜你喜欢
    • 2011-10-22
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 2015-05-29
    • 2016-01-15
    • 1970-01-01
    • 2013-01-24
    • 2015-11-22
    相关资源
    最近更新 更多