bookmark-stack

web extension to save pages in a stack for reading them later  https://addons.mozilla.org/firefox/addon/bookmark-stack/
git clone https://git.ce9e.org/bookmark-stack.git

commit
66298b0f0aed438ef9a0a4530bc7b0deac3600de
parent
bc31d8d1685dfc571a59b63c98cf9356fdd0cbf1
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2017-01-08 22:52
refactor

Diffstat

M bg.js 11 ++---------
M shared.js 25 +++++++++++++++++++++++++
M stack.js 18 ++++--------------

3 files changed, 31 insertions, 23 deletions


diff --git a/bg.js b/bg.js

@@ -3,15 +3,8 @@
    3     3 chrome.contextMenus.create({
    4     4 	title: 'read later',
    5     5 	onclick: function(info, tab) {
    6    -1 		ensureFolder(FOLDER_ID, function(folder) {
    7    -1 			chrome.bookmarks.create({
    8    -1 				parentId: folder.id,
    9    -1 				title: tab.title,
   10    -1 				url: tab.url,
   11    -1 				// tab.favIconUrl
   12    -1 			}, function() {
   13    -1 				chrome.tabs.remove(tab.id);
   14    -1 			});
   -1     6 		pushBookmark(tab, function() {
   -1     7 			chrome.tabs.remove(tab.id);
   15     8 		});
   16     9 	},
   17    10 });

diff --git a/shared.js b/shared.js

@@ -16,3 +16,28 @@ var ensureFolder = function(parentId, callback) {
   16    16 		}
   17    17 	});
   18    18 };
   -1    19 
   -1    20 var getBookmarks = function(callback) {
   -1    21 	ensureFolder(FOLDER_ID, function(folder) {
   -1    22 		chrome.bookmarks.getChildren(folder.id, callback);
   -1    23 	});
   -1    24 };
   -1    25 
   -1    26 var popBookmark = function(id, callback) {
   -1    27 	chrome.bookmarks.get(id, function(items) {
   -1    28 		chrome.bookmarks.remove(id, function() {
   -1    29 			callback(items[0]);
   -1    30 		});
   -1    31 	});
   -1    32 };
   -1    33 
   -1    34 var pushBookmark = function(tab, callback) {
   -1    35 	ensureFolder(FOLDER_ID, function(folder) {
   -1    36 		chrome.bookmarks.create({
   -1    37 			parentId: folder.id,
   -1    38 			title: tab.title,
   -1    39 			url: tab.url,
   -1    40 			// tab.favIconUrl
   -1    41 		}, callback);
   -1    42 	});
   -1    43 };

diff --git a/stack.js b/stack.js

@@ -1,13 +1,5 @@
    1     1 'use struct';
    2     2 
    3    -1 var popBookmark = function(id, callback) {
    4    -1 	chrome.bookmarks.get(id, function(items) {
    5    -1 		chrome.bookmarks.remove(id, function() {
    6    -1 			callback(items[0].url);
    7    -1 		});
    8    -1 	});
    9    -1 };
   10    -1 
   11     3 var render = function(element, items) {
   12     4 	element.innerHTML = '';
   13     5 	items.forEach(function(item) {
@@ -30,17 +22,15 @@ var render = function(element, items) {
   30    22 	});
   31    23 }
   32    24 
   33    -1 ensureFolder(FOLDER_ID, function(folder) {
   34    -1 	chrome.bookmarks.getChildren(folder.id, function(children) {
   35    -1 		render(document.querySelector('#bookmarks'), children);
   36    -1 	});
   -1    25 getBookmarks(function(bookmarks) {
   -1    26 	render(document.querySelector('#bookmarks'), bookmarks);
   37    27 });
   38    28 
   39    29 document.addEventListener('click', function(event) {
   40    30 	if (event.target.tagName === 'A') {
   41    31 		event.preventDefault();
   42    -1 		popBookmark(event.target.id, function(url) {
   43    -1 			chrome.tabs.create({url: url})
   -1    32 		popBookmark(event.target.id, function(bookmark) {
   -1    33 			chrome.tabs.create({url: bookmark.url})
   44    34 		});
   45    35 	}
   46    36 });