我想在文档中添加多列。
在全球范围内,我想做类似于this homepage的事情,其中有3列:一列为当前版本,一列为新闻和更新,以及基础知识。
当我在Google上搜索Sphinx中的多个列时,发现将列表分为2列不是我的情况
在Wiki上,我发现只有多栏才是表格,但我认为这不适用于这里吗?
使用Sphinx在第一个文件中有可能吗?
非常感谢
答案 0 :(得分:1)
有两种方法可以执行此操作,因此您可以找到一个基于三列的狮身人面像主题(不是我所知道的),或者如@Steve_Piercy建议您创建自己的主题,可能是相当的任务。但是,您可以改用选择的主题,只需调整.rst
文件的内容并覆盖主题以3列方式显示内容。为此,您需要一些HTML和CSS。
因此,首先需要创建一个test.rst
,其内容为html原始代码,如下所示:
Test
======
.. raw:: html
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
</div>
现在内容已准备就绪,我们在_static/custom_style.css
下为其创建样式文件,其中包括以下代码:
/* Create three equal columns that floats next to each other */
.column {
float: left;
width: 33.33%;
padding: 10px;
height: 500px;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
最后一步是将此样式添加到您的conf.py
文件中,以便将其添加到您的主题中。因此,在您的conf.py
中添加以下行:
def setup(app):
app.add_stylesheet('custom_style.css')
答案 1 :(得分:1)
这是一个老问题,但现在这个问题的一个可能更好的答案是使用 https://sphinx-panels.readthedocs.io/en/latest/
该扩展提供了您在普通版本中没有的各种组件。
答案 2 :(得分:0)
好吧,我终于找到了它:
您可以在sphinx / rst文件中使用container
关键字来分隔内容
.. container:: twocol
.. container:: leftside
text on left column
.. container:: rightside
text on right column
然后在您的.css文件中:
div.leftside {
width: 43%;
padding: 0px 3px 0px 0px;
float: left;
}
div.rightside {
margin-left: 45%;
/* float: right; */
}
使用此方法,您可以将所需的所有内容(图像,链接,文本,...)写入容器中。