Subversion-Projekte lars-tiefland.faltradxxs.de

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
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
};