some commentary

copyright infos

some instructions on how to use the plugin
This commit is contained in:
Marco Milanesi 2011-09-06 19:14:21 +02:00
commit 575905ac53

View file

@ -1,8 +1,32 @@
# -*- coding: utf-8 -*-
"""
Copyright (c) Marco Milanesi <kpanic@gnufunk.org>
A plugin to list your Github Activity
To enable it set in your pelican config file the GITHUB_ACTIVITY_FEED
parameter pointing to your github activity feed.
for example my personal activity feed is:
https://github.com/kpanic.atom
in your template just write a for in jinja2 syntax against the
github_activity variable.
github_activity is a list containing raw html from github so you can
include it directly in your template
"""
from pelican import signals from pelican import signals
from pelican.utils import singleton from pelican.utils import singleton
@singleton @singleton
class GitHubActivity(): class GitHubActivity():
"""
A class created to fetch github activity with feedparser
"""
def __init__(self, generator): def __init__(self, generator):
try: try:
import feedparser import feedparser
@ -12,10 +36,17 @@ class GitHubActivity():
raise Exception("unable to find feedparser") raise Exception("unable to find feedparser")
def fetch(self): def fetch(self):
"""
returns a list of html snippets fetched from github actitivy feed
"""
return [activity['content'][0]['value'].strip() return [activity['content'][0]['value'].strip()
for activity in self.ga['entries']] for activity in self.ga['entries']]
def add_github_activity(generator, metadata): def add_github_activity(generator, metadata):
"""
registered handler for the github activity plugin
"""
if 'GITHUB_ACTIVITY_FEED' in generator.settings.keys(): if 'GITHUB_ACTIVITY_FEED' in generator.settings.keys():
ga = GitHubActivity(generator) ga = GitHubActivity(generator)
@ -23,5 +54,9 @@ def add_github_activity(generator, metadata):
ga_html_snippets = ga.fetch() ga_html_snippets = ga.fetch()
generator.context['github_activity'] = ga_html_snippets generator.context['github_activity'] = ga_html_snippets
def register(): def register():
"""
Plugin registration
"""
signals.article_generate_context.connect(add_github_activity) signals.article_generate_context.connect(add_github_activity)