Skip to content

Instantly share code, notes, and snippets.

@paazmaya
Last active August 29, 2015 14:04
Show Gist options
  • Save paazmaya/75d2c0b0db5c93240ce1 to your computer and use it in GitHub Desktop.
Save paazmaya/75d2c0b0db5c93240ce1 to your computer and use it in GitHub Desktop.
Speakerdeck Chrome snippet for getting data of the current page
// speakerdeck.js
// Get a list of decks on the given page
(function () {
var talks = document.querySelectorAll(".talk.public");
var data = [];
for (var i = 0; i < talks.length; i++) {
var talk = talks[i];
var item = {};
if (talk) {
var h3 = talk.getElementsByClassName('title')[0];
if (h3) {
var link = h3.getElementsByTagName('a')[0];
item.url = link.getAttribute('href');
item.title = link.innerText;
}
var meta = talk.getElementsByClassName('date')[0];
if (meta) {
var day = meta.innerText.split(' by')[0];
var date = new Date(day);
item.published = Math.round(date.getTime() / 1000);
}
data.push(item);
}
}
console.table(data);
var now = Math.round(new Date().getTime() / 1000);
var inserts = [];
data.forEach(function (item) {
var sql = 'INSERT INTO paazio_speakerdeck (url, title, published, inserted) VALUES (';
sql += "'" + item.url + "', ";
sql += "'" + item.title + "', ";
sql += "'" + item.published + "', ";
sql += "'" + now + "'";
sql += ');';
inserts.push(sql);
});
console.log(inserts.join("\n"));
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment