Sphinx侧边栏中每个rst

时间:2016-06-01 13:44:13

标签: hyperlink python-sphinx sidebar jupyter-notebook

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

基本上我希望能够首先编辑侧边栏,并添加指向特定外部页面的链接。我也不想在模板中进行任何疯狂的切换,以显示基于页面的不同内容,因为我的代码库相当大,并且控制的开关很难看并且很难写(如果可能的话) )。

1 个答案:

答案 0 :(得分:0)

您可以在专用的container中添加每个页面开头或结尾的链接,设置一个类属性并调整Sphinx模板的样式,这样它就会将具有此类属性的div渲染为你的侧边栏。

这是第一个例子:

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

lorem ipsum...

.. container:: side-bar-link

   https://www.link1ToMySpecificModule.com

   https://www.link2ToMySpecificModule.com

然后,将类side-bar-link的样式添加到模板的CSS:

.side-bar-link {
   ...
} 

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