reStructuredText Abstract出现在标题前面,否则无法识别

时间:2016-09-30 19:53:53

标签: python-sphinx restructuredtext

简介

我使用(Python)Sphinx创建我的个人主页。这是一系列技术文章,最近我注意到我写的文章更像是博客类型。我仍然希望有一个层次结构而不是帖子的线性时间轴。

我试图让RSS feed plugin工作,并意识到这需要适当的文档元数据才能正常工作。有bibliographic fields并且在那里说:

  

如果字段列表是文档中的第一个非注释元素(在文档标题之后,如果有的话),则可以将其字段转换为文档书目数据。

首先尝试

所以我认为我可以做到以下几点并且做对了:

.. Copyright © 2014-2016 Martin Ueding <dev@martin-ueding.de>

###################################
The Idiosyncrasies of Bash's quotes
###################################

:Date: 2014-07-13 00:00:00
:Abstract:
    The Bash shell has many quirks and takes a lot of time to master. The Fish
    shell has a cleaner syntax but is not installed on many systems. The quote
    idiosyncrasy of Bash is presented.

渲染它给出以下内容:

  

enter image description here

缺少的是文档元数据的输出。我在模板中添加了一些小片段:

{% if meta is defined %}
<p>
{% for key, val in meta.items() %}
{{ key }} → {{ val }} <br />
{% endfor %}
</p>
{% endif %}

{% block body %} {% endblock %}

DateAbstract字段只会转换为表格。对于人类来说这是好的,但在饲料生成方面没有多大帮助,因为我需要一个艰难的约会。

第二次尝试

所以也许我对“文件标题之后,如果有的话”的解释是错误的。所以我现在做了以下事情:

.. Copyright © 2014-2016 Martin Ueding <dev@martin-ueding.de>

:Date: 2014-07-13 00:00:00
:Abstract:
    The Bash shell has many quirks and takes a lot of time to master. The Fish
    shell has a cleaner syntax but is not installed on many systems. The quote
    idiosyncrasy of Bash is presented.

###################################
The Idiosyncrasies of Bash's quotes
###################################

有人看到元数据很好地被选中:

  

enter image description here

然而,抽象是在标题前面!这是一个交易破坏者,因为这看起来不正确。我喜欢我现在使用的div.abstract CSS样式。

到目前为止

解决方法是只移动Date字段,以便RSS Feed扩展程序可以获取日期。然后在主题中我将不得不以某种方式把日期放在页面上。或者我复制它,使其在标题下方的表格中以人类可读的形式和标题之前的另一个副本。通过这种方式,我可以控制RSS源的更新何时发生。

或者我可以在模板中再次添加标题,因为即使标题位于此元数据表下方,我也有title变量。然后我需要一些CSS从页面中删除第二个<h1>,使它看起来像我想要它。但这看起来像一个kludge并且会在没有CSS的情况下破解(我认为这不是一个要求,否则标题将被重复)。

删除版权注释也不会改变任何内容。

打开问题

有更好的方法吗?我可以先获得标题,还能让Sphinx正确地获取元数据吗?

0 个答案:

没有答案