从ReStructuredText文档创建自主TOC

时间:2017-10-03 09:57:30

标签: python django markup restructuredtext docutils

我正在Django撰写博客,我想用ReStructuredText撰写帖子。我使用django-markup将文本转换为HTML,完全正常。

此外,我想从该文本(我的博客文章)中创建内容表。 为此,我创建了一个模板标签。

我的模板如下所示:

[...]
{{ blog.content|rst_toc }}
<hr />
{{ blog.content|apply_markup:article.markup }}
[...]

tags.py

import docutils
from docutils import core

@register.filter
def rst_toc(text):
doctree = core.publish_doctree(text)

for section in doctree.traverse(docutils.nodes.section):
    title = section.next_node(docutils.nodes.Titular)
    if title:
        print(title)
return 'TOC'

我的主要问题是此代码段缺少文档标题。

=
1
=   
One

2
# 
Two


3
-   
Three

返回2, 3而不是1, 2, 3

任何进一步的想法都会受到赞赏,特别是我发布doctree两次这一事实。在|rst_toc|apply_markup:article

0 个答案:

没有答案