Mettre en place les commentaires pour Pelican

Publié le 20 novembre 2010 par Free_culture

Pour mettre en place les commentaires sous Pelican, il faut s'inscrire à un service internet qui va le gérer Disqus. Il suffit s'aller sur leur site, et de s'inscrire. (L'inscription est gratuire).

Vous aurez alors 6 champs à renseigner :

Site URL
Vous rentrer ici l'adresse de votre site (sans le http://).
Site Name
Le nom de votre site.
Site Shortname
L'identifiant de votre site sur Disqus. Les espaces ne sont pas autorisés. Seuls les lettres, chiffres et traits d'unions le sont. Cet identifiant servira au niveau du fichier de configuration qui sera à modifier.
Username
Votre identifiant sur le site Disqus.
Password
Votre mot de passe qui doit contenir au moins 6 caractères.
Email Adress
Votre adresse email.

Passons maintenant à la modification du fichier de configuration. Je vous rappelle son emplacement

$ /usr/local/lib/python2.6/dist-packages/pelican/settings.py

La ligne à rajouter est la suivante :

'DISQUS_SITENAME': votre identifiant

Cet identifiant est ce que vous avez mis dans le champ Site Shortname lors de l'insciption à disqus. Ce qui donne chez moi

'DISQUS_SITENAME': 'freeculture',

Et enfin le fichier de configuration complet pour vérifier que tout est ok :

import os

_DEFAULT_THEME = ossepjoin([ospathdirname(ospathabspath(__file__)),
                             "themes/notmyidea"])
_DEFAULT_CONFIG = {'PATH': '',
                  'SITEURL': 'http://freeculture.homelinux.com',
                  'THEME': _DEFAULT_THEME,
                  'OUTPUT_PATH': '/var/www/freeculture/',
                  'MARKUP': ('rst', 'md'),
                  'STATIC_PATHS': ['css', 'images'],
                  'FEED': 'feeds/all.atom.xml',
                  'CATEGORY_FEED': 'feeds/%s.atom.xml',
                  'SITENAME': 'Free Culture',
                  'DISPLAY_PAGES_ON_MENU': True,
                  'PDF_PROCESSOR': False,
                  'DEFAULT_CATEGORY': 'misc',
                  'DISQUS_SITENAME': 'freeculture',
                 }

def read_settings(filename):
   """Load a Python file into a dictionary.
   """
   context = _DEFAULT_CONFIGcopy()
   if filename:
       tempdict = {}
       execfile(filename, tempdict)
       for key in tempdict:
           if keyisupper():
               context[key] = tempdict[key]
   return context

Si vous utilisez le thème de base notmyidea, vous n'avez rien d'autre à faire. Les commentaires apparaissent maintenant à la fin des articles.