-
Notifications
You must be signed in to change notification settings - Fork 0
/
lektor_twitter_feed.py
30 lines (22 loc) · 1.12 KB
/
lektor_twitter_feed.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# -*- coding: utf-8 -*-
from lektor.pluginsystem import Plugin
from markupsafe import Markup
TEMPLATE = '''
<a class="twitter-timeline" href="https://twitter.com/%(SCREEN_NAME)s">Tweets by %(SCREEN_NAME)s</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
'''
class TwitterFeedPlugin(Plugin):
name = 'twitter-feed'
description = u'Lektor plugin to add Twitter feed snippets to a website.'
# def on_process_template_context(self, context, **extra):
# def test_function():
# return 'Value from plugin %s' % self.name
# context['test_function'] = test_function
def on_setup_env(self, **extra):
screen_name = self.get_config().get('SCREEN_NAME')
if screen_name is None:
raise RuntimeError('SCREEN_NAME is not configured.'
'Please configure it in '
'`./configs/twitter-feed.ini` file')
def render_twitter_feed():
return Markup(TEMPLATE % {'SCREEN_NAME': screen_name})
self.env.jinja_env.globals['render_twitter_feed'] = render_twitter_feed