Support Series plugin

The Pelican Series plugin (https://github.com/pelican-plugins/series)
is a convenient way for authors to link articles together as multiple
installments of a series.

Add support for the Series plugin to this theme: render articles
belonging to a series with a footer pointing to the preceding and
following articles in the series, using the same styling as "related
posts" links.

This implementation is heavily inspired by the Series plugin in the
Pelican bootstrap3 theme (MIT licensed):
https://github.com/getpelican/pelican-themes/blob/master/pelican-bootstrap3/templates/includes/series.html

Fixes #289.
This commit is contained in:
Florian Haas 2021-10-13 21:02:27 +02:00
parent 1220329ce4
commit 20725c8dc0
2 changed files with 25 additions and 0 deletions

View file

@ -17,6 +17,7 @@ The minimalist [Pelican](http://blog.getpelican.com/) theme.
- Open Graph
- Rich Snippets (JSON-LD)
- Related Posts (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/related_posts) or AddThis)
- Series (via [plugin](https://github.com/pelican-plugins/series))
- Minute read (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/post_stats))
- [Multiple Code Highlight Styles](https://github.com/alexandrevicenzi/Flex/wiki/Code-Highlight)
- [Translation Support](https://github.com/alexandrevicenzi/Flex/wiki/Translations)
@ -41,6 +42,7 @@ The minimalist [Pelican](http://blog.getpelican.com/) theme.
- [I18N Sub-sites](https://github.com/getpelican/pelican-plugins/tree/master/i18n_subsites)
- [Minute read](https://github.com/getpelican/pelican-plugins/tree/master/post_stats)
- [Related Posts](https://github.com/getpelican/pelican-plugins/tree/master/related_posts)
- [Series](https://github.com/pelican-plugins/series)
- [Representative image](https://github.com/getpelican/pelican-plugins/tree/master/representative_image)
- [Neighbors](https://github.com/getpelican/pelican-plugins/tree/master/neighbors)
- [Tipue Search](https://github.com/getpelican/pelican-plugins/blob/master/tipue_search/)

View file

@ -83,6 +83,29 @@
<div class="addthis_relatedposts_inline"></div>
{% endif %}
{% if article.series %}
<div class="related-posts">
{% set text = SERIES_TEXT|default('Part %(index)s of the %(name)s series') %}
<h4>{{ text|format(index=article.series.index, name=article.series.name) }}</h4>
{% if article.series.all_previous %}
<h5>Previous articles</h5>
<ul>
{% for article in article.series.all_previous %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% if article.series.all_next %}
<h5>Next articles</h5>
<ul>
{% for article in article.series.all_next %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endif %}
{% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.article_bottom %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle ads-responsive"