diff --git a/static_comments/Readme.md b/static_comments/Readme.md
new file mode 100644
index 0000000..f95fbc4
--- /dev/null
+++ b/static_comments/Readme.md
@@ -0,0 +1,26 @@
+Static comments
+---------------
+
+This plugin allows you to add static comments to an article. By default the
+plugin looks for the comments of each article in a local file named
+``comments/{slug}.md``, where ``{slug}`` is the value of the slug tag for the
+article. The comments file should be formatted using markdown.
+
+Set the ``STATIC_COMMENTS`` parameter to True to enable the plugin. Default is
+False.
+
+Set the ``STATIC_COMMENTS_DIR`` parameter to the directory where the comments
+are located. Default is ``comments``.
+
+On the template side, you just have to add a section for the comments to your
+``article.html``, as in this example::
+
+ {% if STATIC_COMMENTS %}
+
+ Comments!
+ {{ article.metadata.static_comments }}
+
+ {% endif %}
+
+Here is an example of usage:
+
diff --git a/static_comments/__init__.py b/static_comments/__init__.py
new file mode 100644
index 0000000..9d131b2
--- /dev/null
+++ b/static_comments/__init__.py
@@ -0,0 +1 @@
+from .static_comments import *
diff --git a/static_comments/static_comments.py b/static_comments/static_comments.py
new file mode 100644
index 0000000..65c4491
--- /dev/null
+++ b/static_comments/static_comments.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+
+import codecs
+import logging
+import markdown
+import os
+
+logger = logging.getLogger(__name__)
+
+from pelican import signals
+
+
+def initialized(pelican):
+ from pelican.settings import DEFAULT_CONFIG
+ DEFAULT_CONFIG.setdefault('STATIC_COMMENTS', False)
+ DEFAULT_CONFIG.setdefault('STATIC_COMMENTS_DIR' 'comments')
+ if pelican:
+ pelican.settings.setdefault('STATIC_COMMENTS', False)
+ pelican.settings.setdefault('STATIC_COMMENTS_DIR', 'comments')
+
+
+def add_static_comments(gen, metadata):
+ if gen.settings['STATIC_COMMENTS'] != True:
+ return
+
+ if not 'slug' in metadata:
+ logger.warning("static_comments: "
+ "cant't locate comments file without slug tag in the article")
+ return
+
+ fname = os.path.join(gen.settings['STATIC_COMMENTS_DIR'],
+ metadata['slug'] + ".md")
+
+ if not os.path.exists(fname):
+ return
+
+ input_file = codecs.open(fname, mode="r", encoding="utf-8")
+ text = input_file.read()
+ html = markdown.markdown(text)
+
+ metadata['static_comments'] = html
+
+
+def register():
+ signals.initialized.connect(initialized)
+ signals.article_generator_context.connect(add_static_comments)
Comments!
+ {{ article.metadata.static_comments }} +