Skip to content

Instantly share code, notes, and snippets.

@jlfwong
Last active January 1, 2016 00:29
Show Gist options
  • Save jlfwong/8067128 to your computer and use it in GitHub Desktop.
Save jlfwong/8067128 to your computer and use it in GitHub Desktop.
Format FB chats into markdown for pasting into Day One Dump this into the JS console
// http://bgrins.github.io/devtools-snippets/#console-save
var saveToFile = function(data, filename) {
if (!data) {
console.error('Console.save: No data');
return;
}
if (!filename) {
filename = 'console.json';
}
if (typeof data === "object") {
data = JSON.stringify(data, undefined, 4);
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':');
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
};
var els = document.querySelectorAll(".webMessengerMessageGroup");
var content = Array.prototype.slice.apply(els).map(function(el) {
return {
name: el.querySelector("strong").textContent,
content: Array.prototype.slice.apply(el.querySelectorAll("span p")).map(function(p) {
return p.textContent;
}).join("\n"),
time: el.querySelector("abbr").textContent
};
});
saveToFile(content.map(function(msg) {
var content = "**" + msg.name + "**" + " *" + msg.time + "*\n" + msg.content;
return content.split("\n").map(function(l) { return "> " + l; }).join("\n");
}).join("\n>\n"), "chatlog.txt");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment