Python 如何使用sphinx制作两个柱
我想在我的文档上创建多个列 在全球范围内,我想做一些类似的事情,其中有3个专栏:一个是最新版本,一个是新闻和更新,还有基础知识 当我在google上搜索Sphinx中的多列时,我发现了将列表拆分为两列的方法,这与我的情况不同 在wiki上,我发现只有表格有多列,但我认为这不适用于这里 这在使用Sphinx的rst文件中可能吗Python 如何使用sphinx制作两个柱,python,python-sphinx,restructuredtext,Python,Python Sphinx,Restructuredtext,我想在我的文档上创建多个列 在全球范围内,我想做一些类似的事情,其中有3个专栏:一个是最新版本,一个是新闻和更新,还有基础知识 当我在google上搜索Sphinx中的多列时,我发现了将列表拆分为两列的方法,这与我的情况不同 在wiki上,我发现只有表格有多列,但我认为这不适用于这里 这在使用Sphinx的rst文件中可能吗 非常感谢有几种方法可以做到这一点,因此,要么你找到一个基于三列的狮身人面像主题(据我所知没有),要么按照建议,你可以创建自己的主题,这可能是一项相当艰巨的任务。但是,您可以
非常感谢有几种方法可以做到这一点,因此,要么你找到一个基于三列的狮身人面像主题(据我所知没有),要么按照建议,你可以创建自己的主题,这可能是一项相当艰巨的任务。但是,您可以选择一个主题,只需调整
.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>
最后一步是将此样式添加到conf.py
文件中,以便将其添加到主题中。因此,在conf.py
中添加以下行:
def设置(应用程序):
app.add_样式表('custom_style.css'))
就这样,现在运行并测试。输出应该有点像这样(取决于您的主题):
好的,我终于找到了: 您可以在sphinx/rst文件中使用
container
关键字来分隔内容
.. container:: twocol
.. container:: leftside
text on left column
.. container:: rightside
text on right column
然后在.css文件中:
div.leftside{
宽度:43%;
填充:0px 3px 0px 0px;
浮动:左;
}
右侧分区{
左边缘:45%;
/*浮动:对*/
}
使用此方法,您可以在容器中写入所需的所有内容(图像、链接、文本等),并将其正确显示。这是一个有点陈旧的问题,但现在解决此问题的一个可能更好的方法是使用
该扩展提供了普通reST中没有的各种组件。我不知道有任何3列Sphinx主题。你可以创建自定义主题。但这并不容易。请看,谢谢。我会尝试一下,并给你一些更新。但是,我对css不是很熟练,所以这可能是一个愚蠢的问题:是否可以对列的高度?我看到你指定的高度:500px。但是如果我不知道我的列的高度会是多少呢?谢谢你,我想你可以去掉这一行,你的列正好适合你的页面高度。我也不是很精通CSS。我通常只是尝试一些东西,看看什么效果最好。这对我来说很好,但我看不出如何结束它。如果我留下几行空白,然后开始一个新的段落,甚至是一个标题,它会一直保留在右边的列中,直到它们达到相等的长度。我想这意味着你必须手动平衡它们。有没有办法解决这个问题?你的代码缩进得好吗?是否有足够的换行符?我不知道它是否有用,但我在sphinx中使用了云主题。等等我的css文件有一些导入:“@import-url(“default.css”);@import-url(“cloud.css”);”应该注意的是,IMO
面板
最适合使用。
.. container:: twocol
.. container:: leftside
text on left column
.. container:: rightside
text on right column