将下载链接添加到 toctree

Add download links to toctree

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

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

我试过:

.. 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>`

大概是这样的:

这看起来不太好,我的实际 toctree 中还有更多文档。有什么办法可以做到这一点吗?

下载的不是 reStructuredText 文档,也不能是 toctree 中的条目。

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

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

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