| 2 |
lars |
1 |
'use strict';
|
|
|
2 |
|
|
|
3 |
var url = require('url');
|
|
|
4 |
var $ = require('jquery');
|
|
|
5 |
|
|
|
6 |
// abbreviate at last blank before length and add "\u2026" (horizontal ellipsis)
|
|
|
7 |
var abbreviateText = function(text, length) {
|
|
|
8 |
var abbreviated = $('<div/>').html(text).text();
|
|
|
9 |
if (abbreviated.length <= length) {
|
|
|
10 |
return text;
|
|
|
11 |
}
|
|
|
12 |
|
|
|
13 |
var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' ');
|
|
|
14 |
abbreviated = abbreviated.substring(0, lastWhitespaceIndex) + '\u2026';
|
|
|
15 |
|
|
|
16 |
return abbreviated;
|
|
|
17 |
};
|
|
|
18 |
|
|
|
19 |
module.exports = function(shariff) {
|
|
|
20 |
var shareUrl = url.parse('https://twitter.com/intent/tweet', true);
|
|
|
21 |
|
|
|
22 |
var title = shariff.getMeta('DC.title');
|
|
|
23 |
var creator = shariff.getMeta('DC.creator');
|
|
|
24 |
|
|
|
25 |
if (title.length > 0 && creator.length > 0) {
|
|
|
26 |
title += ' - ' + creator;
|
|
|
27 |
} else {
|
|
|
28 |
title = shariff.getTitle();
|
|
|
29 |
}
|
|
|
30 |
|
|
|
31 |
// 120 is the max character count left after twitters automatic url shortening with t.co
|
|
|
32 |
shareUrl.query.text = abbreviateText(title, 120);
|
|
|
33 |
shareUrl.query.url = shariff.getURL();
|
|
|
34 |
if (shariff.options.twitterVia !== null) {
|
|
|
35 |
shareUrl.query.via = shariff.options.twitterVia;
|
|
|
36 |
}
|
|
|
37 |
delete shareUrl.search;
|
|
|
38 |
|
|
|
39 |
return {
|
|
|
40 |
popup: true,
|
|
|
41 |
shareText: 'tweet',
|
|
|
42 |
name: 'twitter',
|
|
|
43 |
faName: 'fa-twitter',
|
|
|
44 |
title: {
|
|
|
45 |
'bg': 'Сподели в Twitter',
|
|
|
46 |
'da': 'Del på Twitter',
|
|
|
47 |
'de': 'Bei Twitter teilen',
|
|
|
48 |
'en': 'Share on Twitter',
|
|
|
49 |
'es': 'Compartir en Twitter',
|
|
|
50 |
'fi': 'Jaa Twitterissä',
|
|
|
51 |
'fr': 'Partager sur Twitter',
|
|
|
52 |
'hr': 'Podijelite na Twitteru',
|
|
|
53 |
'hu': 'Megosztás Twitteren',
|
|
|
54 |
'it': 'Condividi su Twitter',
|
|
|
55 |
'ja': 'ツイッター上で共有',
|
|
|
56 |
'ko': '트위터에서 공유하기',
|
|
|
57 |
'nl': 'Delen op Twitter',
|
|
|
58 |
'no': 'Del på Twitter',
|
|
|
59 |
'pl': 'Udostępnij na Twitterze',
|
|
|
60 |
'pt': 'Compartilhar no Twitter',
|
|
|
61 |
'ro': 'Partajează pe Twitter',
|
|
|
62 |
'ru': 'Поделиться на Twitter',
|
|
|
63 |
'sk': 'Zdieľať na Twitteri',
|
|
|
64 |
'sl': 'Deli na Twitterju',
|
|
|
65 |
'sr': 'Podeli na Twitter-u',
|
|
|
66 |
'sv': 'Dela på Twitter',
|
|
|
67 |
'tr': 'Twitter\'da paylaş',
|
|
|
68 |
'zh': '在Twitter上分享'
|
|
|
69 |
},
|
|
|
70 |
// shareUrl: 'https://twitter.com/intent/tweet?text='+ shariff.getShareText() + '&url=' + url
|
|
|
71 |
shareUrl: url.format(shareUrl) + shariff.getReferrerTrack()
|
|
|
72 |
};
|
|
|
73 |
};
|