diff --git a/pelican/plugins/related_posts.py b/pelican/plugins/related_posts.py index 29c39435..dc52de9a 100644 --- a/pelican/plugins/related_posts.py +++ b/pelican/plugins/related_posts.py @@ -13,14 +13,21 @@ To enable, add from pelican.plugins import related_posts PLUGINS = [related_posts] -to your settings's file pelicanconf.py . +to your pelicanconf.py. + +Control the number of entries with in the config file with: + +RELATED_POSTS = { + 'numentries': 6, +} + Usage ----- {% if article.related_posts %} {% endif %} @@ -40,12 +47,24 @@ def add_related_posts(generator, metadata): if len(related_posts) < 1: return + + metadata["related_posts"] = sorted(set(related_posts)) relation_score = dict(list(zip(set(related_posts), list(map(related_posts.count, set(related_posts)))))) ranked_related = sorted(relation_score, key=relation_score.get) + + #Load the confg file and get the number of entries specified there + settings = generator.settings + config = settings.get('RELATED_POSTS', {}) - metadata["related_posts"] = ranked_related[:5] + #check if the related_posts var is set in the pythonconfig.py + if not isinstance(config, dict): + info("realted_links plugin: Using default number of related links ("+numentries+")") + else: + numentries = config.get('numentries', 5) + + metadata["related_posts"] = ranked_related[:numentries] def register():