0 I'm wondering if I can run a Node.js script in my Jekyll page from GitHub Pages or Amazon S3? I think it can't run on GitHub Pages since it doesn't support server side code. Not too sure. The code is below: var Airtable = require('airtable'); var base = new Airtable(apiKey: 'YOUR_API_KEY').base('appAnZVyYqusNPV5Q'); base('Invitee list').select( // Selecting the first 3 records in Complete list: maxRecords: 3, view: "Complete list" ).eachPage(function page(records, fetchNextPage) // This function (`page`) will get called for each page of records. records.forEach(function(record) console.log('Retrieved', record.get('Email')); ); // To fetch the next page of records, call `fetchNextPage`. // If there are more records, `page` will get called again. // If there are no more records, `done` will get called. fetchNextPage(); , function done(err) if (err) console.error(err); return; ); node.js
(function() {
var items = ['id': '8961532528689950451', 'body': 'Thank you regards from www@shayrikiduniya@com', 'timestamp': '1374949627734', 'permalink': 'https://www.mybloggertricks.com/2013/07/creating-click-to-tweet-links.html?showCommentx3d1374949627734#c8961532528689950451', 'author': 'name': 'iliyas shaikh', 'avatarUrl': '//lh6.googleusercontent.com/-d1xe-9FWfBE/AAAAAAAAAAI/AAAAAAAABpQ/r4xTfGYYQBY/s35-c/photo.jpg', 'profileUrl': 'https://www.blogger.com/profile/09800674288567007011', 'displayTime': 'Jul 27, 2013, 11:27:00 PM', 'deleteclass': 'item-control blog-admin pid-543844740', 'id': '8913030760317631020', 'body': 'Thanks @Qasim Zaib, Really useful thing. ', 'timestamp': '1374983287267', 'permalink': 'https://www.mybloggertricks.com/2013/07/creating-click-to-tweet-links.html?showCommentx3d1374983287267#c8913030760317631020', 'author': 'name': 'Muhammad Reaz', 'avatarUrl': '//lh5.googleusercontent.com/-V3BL_htYm0M/AAAAAAAAAAI/AAAAAAAAACI/EVK_9UkG5bU/s35-c/photo.jpg', 'profileUrl': 'https://www.blogger.com/profile/04848459917770258083', 'displayTime': 'Jul 28, 2013, 8:48:00 AM', 'deleteclass': 'item-control blog-admin pid-346224267', 'id': '3787547218912987045', 'body': 'Thanks to introduce this idea to your readers like me first. This is interesting. I blog about civil engineering and construction and my article contains many technical terms which readers sometimes want to collect and share with their friends but not full article. Now Ix26#39;ll implement this in my blog post for their convenience.', 'timestamp': '1374990384362', 'permalink': 'https://www.mybloggertricks.com/2013/07/creating-click-to-tweet-links.html?showCommentx3d1374990384362#c3787547218912987045', 'author': 'name': 'Liton Biswas', 'avatarUrl': '//lh5.googleusercontent.com/-2UA5ygZPYnM/AAAAAAAAAAI/AAAAAAAAAlM/BMaHAIXkjq0/s35-c/photo.jpg', 'profileUrl': 'https://www.blogger.com/profile/07949888521716008322', 'displayTime': 'Jul 28, 2013, 10:46:00 AM', 'deleteclass': 'item-control blog-admin pid-21874141', 'id': '1036573079425006812', 'body': 'Really good post. Thanks Quasim Zaib.', 'timestamp': '1374991415611', 'permalink': 'https://www.mybloggertricks.com/2013/07/creating-click-to-tweet-links.html?showCommentx3d1374991415611#c1036573079425006812', 'author': 'name': 'Noor Mohamed', 'avatarUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgExx2MVWfQSF1_n27GIiVyq7D_yCoN6jvPfghL82MmI4engSs_QWjutZ6fQzFB4R1srbvaXgSXpqA8ndefm18W4PGOPML9z9Ck6R_Psmsp8x96DO_UN_HCmItO57_3rKd9XfqQw997o4ed/s35/429842_301232893344797_724404661_n.jpg', 'profileUrl': 'https://www.blogger.com/profile/04312142341054330217', 'displayTime': 'Jul 28, 2013, 11:03:00 AM', 'deleteclass': 'item-control blog-admin pid-1979746525', 'id': '7258217848644243491', 'body': 'Thanks for sharing this info..', 'timestamp': '1375015730992', 'permalink': 'https://www.mybloggertricks.com/2013/07/creating-click-to-tweet-links.html?showCommentx3d1375015730992#c7258217848644243491', 'author': 'name': 'Admin', 'avatarUrl': '//2.bp.blogspot.com/-X-sn1TcGvdM/UX_9vqG2r-I/AAAAAAAAvkg/zAMpMxYf9Q0/s35/Hamidi%25252BSP.jpg', 'profileUrl': 'https://www.blogger.com/profile/15402482349856037251', 'displayTime': 'Jul 28, 2013, 5:48:00 PM', 'deleteclass': 'item-control blog-admin pid-313708002'];
var msgs = 'loadMore': 'Load more...', 'loading': 'Loading...', 'loaded': 'No more!', 'addComment': 'Add comment', 'reply': 'Reply', 'delete': 'Delete';
var config = 'blogId': '8193278726666811965', 'postId': '7484538950061946975', 'feed': 'https://www.mybloggertricks.com/feeds/7484538950061946975/comments/default', 'authorName': 'Qasim Zaib', 'authorUrl': 'https://www.blogger.com/profile/08938578237404814539', 'baseUri': 'https://www.blogger.com', 'maxThreadDepth': 2;
// 0)
cursor = parseInt(items[items.length - 1].timestamp) + 1;
var bodyFromEntry = function(entry)
if (entry.gd$extendedProperty)
for (var k in entry.gd$extendedProperty)
if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved')
return '' + entry.content.$t + '';
return entry.content.$t;
var parse = function(data)
cursor = null;
var comments = ;
if (data && data.feed && data.feed.entry)
for (var i = 0, entry; entry = data.feed.entry[i]; i++)
var comment = ;
// comment ID, parsed out of the original id format
var id = /blog-(d+).post-(d+)/.exec(entry.id.$t);
comment.id = id ? id[2] : null;
comment.body = bodyFromEntry(entry);
comment.timestamp = Date.parse(entry.published.$t) + '';
if (entry.author && entry.author.constructor === Array)
var auth = entry.author[0];
if (auth)
comment.author =
name: (auth.name ? auth.name.$t : undefined),
profileUrl: (auth.uri ? auth.uri.$t : undefined),
avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
;
if (entry.link)
if (entry.link[2])
comment.link = comment.permalink = entry.link[2].href;
if (entry.link[3])
var pid = /.*comments/default/(d+)?.*/.exec(entry.link[3].href);
if (pid && pid[1])
comment.parentId = pid[1];
comment.deleteclass = 'item-control blog-admin';
if (entry.gd$extendedProperty)
for (var k in entry.gd$extendedProperty)
if (entry.gd$extendedProperty[k].name == 'blogger.itemClass')
comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime')
comment.displayTime = entry.gd$extendedProperty[k].value;
comments.push(comment);
return comments;
;
var paginator = function(callback) {
if (hasMore()) {
var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
if (cursor)
url += '&published-min=' + new Date(cursor).toISOString();
window.bloggercomments = function(data) {
var parsed = parse(data);
cursor = parsed.length
iliyas shaikhJul 27, 2013, 11:27:00 PM
Thank you regards from www@shayrikiduniya@com
ReplyDelete
Muhammad ReazJul 28, 2013, 8:48:00 AM
Thanks @Qasim Zaib, Really useful thing.
ReplyDelete
Liton BiswasJul 28, 2013, 10:46:00 AM
Thanks to introduce this idea to your readers like me first. This is interesting. I blog about civil engineering and construction and my article contains many technical terms which readers sometimes want to collect and share with their friends but not full article. Now I'll implement this in my blog post for their convenience.
ReplyDelete
Noor MohamedJul 28, 2013, 11:03:00 AM
Really good post. Thanks Quasim Zaib.
ReplyDelete
AdminJul 28, 2013, 5:48:00 PM
Thanks for sharing this info..
ReplyDelete