12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- 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
- });
- });
- });
- });
|