Skip to content

Instantly share code, notes, and snippets.

@kageurufu
Last active August 29, 2015 14:20
Show Gist options
  • Save kageurufu/9d7a67f9a2a30e6c2c05 to your computer and use it in GitHub Desktop.
Save kageurufu/9d7a67f9a2a30e6c2c05 to your computer and use it in GitHub Desktop.
from flask import Flask
from socialext import SocialExtension
app = Flask(__name__)
social = SocialExtension(app)
@app.route('/')
def index():
return render_template_string("""
<html>
<body>
{{ facebook_javascript() }}
</body>
</html>""")
from jinja2 import Markup
class SocialExtension:
def __init__(self, app=None):
if app:
self.init_app(app)
def init_app(self, app):
self.app = app
self.app.template_global('facebook_javascript')(self._facebook_javascript)
# Any other functions to register would be defined here
def _facebook_javascript(self):
return Markup(u'''<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3&appId={app_id}";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));</script>'''.format(app_id=self.app.config.get('FACEBOOK_APP_ID')))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment