e18e0cee7e
Signed-off-by: HE, Tao <sighingnow@gmail.com>
91 lines
2.8 KiB
JavaScript
91 lines
2.8 KiB
JavaScript
require(['gitbook', 'jquery'], function(gitbook, $) {
|
|
var SITES = {
|
|
'facebook': {
|
|
'label': 'Facebook',
|
|
'icon': 'fa fa-facebook',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href));
|
|
}
|
|
},
|
|
'twitter': {
|
|
'label': 'Twitter',
|
|
'icon': 'fa fa-twitter',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href));
|
|
}
|
|
},
|
|
'google': {
|
|
'label': 'Google+',
|
|
'icon': 'fa fa-google-plus',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href));
|
|
}
|
|
},
|
|
'weibo': {
|
|
'label': 'Weibo',
|
|
'icon': 'fa fa-weibo',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
|
|
}
|
|
},
|
|
'instapaper': {
|
|
'label': 'Instapaper',
|
|
'icon': 'fa fa-instapaper',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href));
|
|
}
|
|
},
|
|
'vk': {
|
|
'label': 'VK',
|
|
'icon': 'fa fa-vk',
|
|
'onClick': function(e) {
|
|
e.preventDefault();
|
|
window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href));
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
|
|
gitbook.events.bind('start', function(e, config) {
|
|
var opts = config.sharing;
|
|
|
|
// Create dropdown menu
|
|
var menu = $.map(opts.all, function(id) {
|
|
var site = SITES[id];
|
|
|
|
return {
|
|
text: site.label,
|
|
onClick: site.onClick
|
|
};
|
|
});
|
|
|
|
// Create main button with dropdown
|
|
if (menu.length > 0) {
|
|
gitbook.toolbar.createButton({
|
|
icon: 'fa fa-share-alt',
|
|
label: 'Share',
|
|
position: 'right',
|
|
dropdown: [menu]
|
|
});
|
|
}
|
|
|
|
// Direct actions to share
|
|
$.each(SITES, function(sideId, site) {
|
|
if (!opts[sideId]) return;
|
|
|
|
gitbook.toolbar.createButton({
|
|
icon: site.icon,
|
|
label: site.text,
|
|
position: 'right',
|
|
onClick: site.onClick
|
|
});
|
|
});
|
|
});
|
|
});
|