Talha Mansoor 45b3094247 Adds Extract table of contents plugin | 11 gadi atpakaļ | |
---|---|---|
.. | ||
README.md | 11 gadi atpakaļ | |
__init__.py | 11 gadi atpakaļ | |
extract_toc.py | 11 gadi atpakaļ |
A Pelican plugin to extract table of contents (ToC) from article.content
and
place it in its own article.toc
variable.
Copyright (c) Talha Mansoor
Author | Talha Mansoor |
---|---|
Author Email | talha131@gmail.com |
Author Homepage | http://onCrashReboot.com |
Github Account | https://github.com/talha131 |
Thanks to Avaris for going out of the way to help me fix Unicode issues and doing a thorough code review.
Pelican can generate ToC of reST and Markdown files, using markup's respective
directive and extension. ToC is generated and placed at the beginning of
article.content
. You cannot place the ToC in <nav>
HTML5 tag, nor can you
place the ToC at the end of your article's content because ToC is part of
article.content
.
This plugin extracts ToC from article.content
and places it in article.toc
.
extract_toc
requires BeautifulSoup.
pip install beautifulsoup4
Important! This plugin only works with reST and Markdown files. reST files
should have .rst
extension. Markdown files can have .md
, .mkd
or
markdown
.
If ToC appears in your article at more than one places, extract_toc
will
remove only the first occurrence. You shouldn't probably need to have multiple
ToC in your article. In case you need to display it multiple times, you can
print it via your template.
ToC generated by Markdown is enclosed in <div class="toc">
. On the other hand
ToC generated by reST is enclosed in <div class="contents topic">
.
extract_toc
relies on this behavior to work.
{% if article.toc %}
<nav class="affix">
{{ article.toc }}
</nav>
{% endif %}