forked from mathblogging/mathblogging-base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
editors.js
108 lines (97 loc) · 3.07 KB
/
editors.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/* eslint-env node */
var fs = require('fs');
var Twit = require('twit');
var FeedCreator = require('feed'); // to create feed objects and
// var escapeMD = require('./escape-markdown.js').escapeMarkdown; // our module
// var Autolinker = require('autolinker');
var async = require('async');
// set up secrets
var fileName = './secret-config.json';
var config = {};
try {
config = require(fileName);
} catch (err) {
config = {};
console.log('unable to read file ' + fileName + ': ', err);
console.log('see secret-config-sample.json for an example');
}
module.exports = function() {
'use strict';
var T = new Twit(config);
var editors = ['MrHonner', 'fawnpnguyen', 'SheckyR', 'danaernst', 'pkrautz'];
var editorFeed = new FeedCreator({
title: 'Mathblogging.org -- Editor\'s Picks',
description: 'Your one stop shop for mathematical blogs',
link: 'http://mathblogging.org/',
image: 'http://mathblogging.org/logo.png',
copyright: 'No copyright asserted over individual posts; see original posts for copyright and/or licensing.',
author: {
name: 'Mathblogging.org',
email: 'info@mathblogging.org',
link: 'https://mathblogging.org'
}
});
var editorPage = '---\n' +
'layout: page\n' +
'title: Editor\'s picks\n' +
'---\n\n';
// '## Editor\'s picks\n\n';
var getEmbed = function(tweetId, callback) {
T.get('statuses/oembed', {
id: tweetId,
hide_thread: true,
omit_script: false,
align: 'center',
maxwidth: '500'
}, function(Error, pickData) {
// console.log(tweetId);
// console.log(pickData.html);
editorPage += pickData.html + '\n';
callback(Error);
});
};
T.get('search/tweets', {
q: '#MBPick since:2011-04-14',
count: 10
}, function(err, data) {
if (err) {
throw err;
}
// console.log(JSON.stringify(data));
var tweets = data.statuses;
var tweetIds = [];
for (var i = 0; i < tweets.length; i++) {
var tweet = tweets[i];
// console.log(tweet.user);
var editor = tweet.user.screen_name;
if ((editors.indexOf(editor) > -1) && (!tweet.favorited) && (!tweet.retweeted)) {
// console.log(tweet.id_str);
tweetIds.push(tweet.id_str);
// console.log(tweet.id);
// console.log(tweetIds);
var itemTitle = editor + '\'s pick';
var itemLink = 'http://mathblogging.org';
var itemDescription = tweet.text;
// console.log(tweet.created_at);
var itemDate = new Date(tweet.created_at);
var itemAuthor = [{
name: 'picked by ' + editor,
email: '',
link: ''
}];
editorFeed.addItem({
title: itemTitle,
link: itemLink,
description: itemDescription,
date: itemDate,
author: itemAuthor
});
}
}
fs.writeFile('./mathblogging.org/editor-picks.xml', editorFeed.render('atom-1.0'));
async.each(tweetIds, getEmbed, function(error) {
// if (error) {throw error; }
fs.writeFile('./mathblogging.org/index.md', editorPage);
});
});
};