Commit ea1da51a authored by Thibaut Broggi's avatar Thibaut Broggi

Add button "share on Diaspora*"

    Sharing URL management has been rewritten has a class
parent 322cdc91
Pipeline #1675 passed with stage
in 42 seconds
......@@ -83,34 +83,60 @@ for (let i in fonts) {
}
Canvas.registerFont('./static/fonts/FiraSans-Bold.otf', {family: 'FiraSans', weight: 'bold'});
function buildUrl(req) {
return req.protocol + '://'
+ req.headers.host + '/'
+ (config.subdir || '')
+ '?'
+ querystring.stringify(req.args)
+ '&lang=' + req.i18n.getLocale();
}
function tweetMessage(req) {
function ShareMessage(req) {
let _req = req;
let _ = req.i18n._;
return (req.args.signature ? _('Faites comme ') + encodeURIComponent(req.args.signature) + ', s' : 'S')
+ _('outenez ')
+ encodeURIComponent('La Quadrature du Net ! #LQDoN ')
+ encodeURIComponent(req.protocol + "://" + req.headers.host)
+ ' '
+ encodeURIComponent(buildUrl(req));
this.getUrl = function() {
return _req.protocol + '://'
+ _req.headers.host + '/'
+ (config.subdir || '')
+ '?'
+ querystring.stringify(_req.args)
+ '&lang=' + _req.i18n.getLocale();
}
this.getTitle = function() {
return (_req.args.signature ? _('Faites comme ') + encodeURIComponent(_req.args.signature) + ', s' : 'S')
+ _('outenez ')
+ 'La Quadrature du Net ! #LQDoN';
}
this.getContent = function() {
return _req.protocol + "://" + _req.headers.host;
}
this.getTwitterLink = function() {
return 'https://twitter.com/intent/tweet?text='
+ encodeURIComponent(this.getTitle()
+ ' ' + this.getContent()
+ ' ' + this.getUrl());
}
this.getFacebookLink = function() {
return 'https://www.facebook.com/sharer/sharer.php?u='
+ encodeURIComponent(this.getUrl());
}
this.getDiasporaLink = function() {
return 'https://share.diasporafoundation.org/?title='
+ encodeURIComponent(this.getTitle() + ' ' + this.getContent())
+ '&url=' + encodeURIComponent(this.getUrl());
}
}
app.get('/generate.png', function (req, res) {
let _ = req.i18n._;
if (req.query.target === 'facebook') {
return res.redirect('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(buildUrl(req)));
let message = new ShareMessage(req);
if (req.query.target === 'diaspora') {
return res.redirect(message.getDiasporaLink())
}
else if (req.query.target === 'facebook') {
return res.redirect(message.getFacebookLink());
}
else if (req.query.target === 'twitter') {
return res.redirect('https://twitter.com/intent/tweet?text=' + tweetMessage(req));
return res.redirect(message.getTwitterLink());
}
else if (req.query.target === 'download') {
res.set("Content-Disposition", "attachment;filename=lqdn_slogan.png");
......
......@@ -123,6 +123,9 @@ html(lang=locale)
span.fa.fa-refresh
button(type="submit" name="target" value="randomize" formaction="" formtarget="_self").randomize.white-button
span.fa.fa-random
button(type="submit" name="target" value="diaspora").white-button
span.text
=_('Diaspora*') + ' '
button(type="submit" name="target" value="twitter")#tweet-button.blue-button
span.text
=_('Tweet') + ' '
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment