Hyperlink 每个rst Sphinx侧栏中的不同外部链接

Hyperlink 每个rst Sphinx侧栏中的不同外部链接,hyperlink,python-sphinx,sidebar,jupyter-notebook,Hyperlink,Python Sphinx,Sidebar,Jupyter Notebook,我有一个代码库,一些Sphinx生成的文档,还有一个Jupyter笔记本的集合,其中包含运行的代码示例。我想做的是在Sphinx文档的侧栏中为笔记本添加外部链接。问题是:我不想在每个页面的侧边栏中看到链接,也不想在每个页面上都出现相同的链接集。例如,我不需要主页上的任何链接,但当我查看特定模块的文档时,我希望在笔记本的侧栏中有一个链接,显示该模块的使用和功能。如果我转到其他模块的文档页面,我不想看到前面提到的笔记本的链接 基本上,我希望能够编辑每个rst的侧栏,并添加到特定外部页面的链接。我也不

我有一个代码库,一些Sphinx生成的文档,还有一个Jupyter笔记本的集合,其中包含运行的代码示例。我想做的是在Sphinx文档的侧栏中为笔记本添加外部链接。问题是:我不想在每个页面的侧边栏中看到链接,也不想在每个页面上都出现相同的链接集。例如,我不需要主页上的任何链接,但当我查看特定模块的文档时,我希望在笔记本的侧栏中有一个链接,显示该模块的使用和功能。如果我转到其他模块的文档页面,我不想看到前面提到的笔记本的链接


基本上,我希望能够编辑每个rst的侧栏,并添加到特定外部页面的链接。我也不想在模板中做任何疯狂的切换来显示基于页面的不同内容,因为我的代码库相当大,切换到控件会很难看,而且编写起来很痛苦(如果可能的话)。

您可以在专用的,设置一个class属性并调整Sphinx模板的样式,这样它就可以将这个class属性作为边栏的一部分呈现div

下面是一个rst示例:

My specific module
=================

lorem ipsum...

.. container:: side-bar-link

   https://www.link1ToMySpecificModule.com

   https://www.link2ToMySpecificModule.com
然后,将类
侧栏链接的样式添加到模板的CSS中:

.side-bar-link {
   ...
} 

确切的样式取决于您的模板,但您可能希望指定一个绝对位置。

因此,容器将手动写入我想要的每个rst文件中,其中包含我想要用于该页面的任何内容,CSS将负责将容器放在侧栏中的适当位置?我是否可以通过在模块docstring中放入一些内容来对生成的rst文件执行此操作?1)是的,容器将手动写入每个.rst文件中。2) 是的,CSS会将容器(该类的所有容器)降级到适当的位置。3) 我不是Sphinx autodoc用户,但作为autodoc完全支持st.rst的用户,将相应的标记放入模块docstring中应该可以。