Skip to content

Instantly share code, notes, and snippets.

@jlfwong
Created June 23, 2017 07:17
Show Gist options
  • Save jlfwong/a8fd3e53bfadd9bc34ac8208a4f64daa to your computer and use it in GitHub Desktop.
Save jlfwong/a8fd3e53bfadd9bc34ac8208a4f64daa to your computer and use it in GitHub Desktop.
// 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 nodes = [].slice.apply(document.querySelectorAll("[aria-label=Messages] [data-hover=tooltip]"))
var name = document.querySelector("[aria-label=Messages] img[alt]").getAttribute("alt")
var content = nodes.map(e => ({
name: e.getAttribute("data-tooltip-position") === "left" ? name : "Jamie Wong",
time: e.getAttribute("data-tooltip-content"),
content: e.textContent
})).filter(v => v.content.length > 0)
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