Skip to content

Instantly share code, notes, and snippets.

@MathRivest
Last active August 29, 2015 14:11
Show Gist options
  • Save MathRivest/26f21dd7c2bc43177095 to your computer and use it in GitHub Desktop.
Save MathRivest/26f21dd7c2bc43177095 to your computer and use it in GitHub Desktop.
Social shares -Add fb-root to dom -Add fb-appid to body tag (data-fb-appid="123") -Initialize in your main js
<a href="#"
class="b-social-action"
data-facebook-share
data-url="{{app.request.uri}}"
data-title="{{page_title}}">
<i>F</i><span class="name">Facebook</span>
</a>
<a href="https://twitter.com/intent/tweet?text={{page_title}}&amp;url={{app.request.uri}}"
class="b-social-action"
data-twitter-share>
<i>T</i><span class="name">Twitter</span>
</a>
var SOCIAL = SOCIAL || {};
//Social Plugins
SOCIAL = {
facebookInit : function(){
// https://developers.facebook.com/docs/reference/javascript/FB.init/
// Load facebook scripts
(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/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
// Init facebook sdk
window.fbAsyncInit = function() {
FB.init({
appId : $('body').data('fb-appid'),
status : false,
cookie : false,
xfbml : false
});
}
// Bind ui element
$('[data-facebook-share]').on('click', function(evt){
evt.preventDefault();
postToFeed($(this));
});
// Function to post to the wall
function postToFeed($el){
FB.ui({
method: 'feed',
link: $el.data('url'),
name: $el.data('title'),
description: $('meta[name="description"]').attr('content')
//, picture: 'theogimg'
}, function(response) {
if (response && response.post_id) {
ANALYTICS.trackFacebookShare();
}
});
}
},
twitterInit : function(){
// https://dev.twitter.com/docs/intents/events
// Load twitter scripts
window.twttr = (function (d,s,id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));
$('.b-share_twitter').on('click', function(evt){
evt.preventDefault();
});
twttr.ready(function(twttr) {
twttr.events.bind('tweet', function(event) {
//ANALYTICS.trackTwitterShare(event);
});
});
},
googlePlusInit : function(){
},
linkedInInit : function(){
}
};//End social Plugins
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment