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
d1f25643d37ac376b0f74b47de4fe7be61503c33
parent
2cda015c8532ec3a336ae32c4e419d4ab2f5d33f
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2025-04-24 07:01
convert to js modules

Diffstat

M bg.js 2 ++
M manifest.json 6 ++----
M shared.js 8 ++++----
M stack.html 3 +--
M stack.js 2 ++

5 files changed, 11 insertions, 10 deletions


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

@@ -1,3 +1,5 @@
   -1     1 import { pushBookmark, updateCount } from './shared.js';
   -1     2 
    1     3 chrome.contextMenus.create({
    2     4 	id: 'read-later',
    3     5 	title: 'read later',

diff --git a/manifest.json b/manifest.json

@@ -15,10 +15,8 @@
   15    15     "128": "icons/icon-128.png"
   16    16   },
   17    17   "background": {
   18    -1     "scripts": [
   19    -1       "shared.js",
   20    -1       "bg.js"
   21    -1     ]
   -1    18     "scripts": ["bg.js"],
   -1    19     "type": "module"
   22    20   },
   23    21   "permissions": [
   24    22     "bookmarks",

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

@@ -31,12 +31,12 @@ var ensureFolder = async function() {
   31    31 	}
   32    32 };
   33    33 
   34    -1 var getBookmarks = async function() {
   -1    34 export var getBookmarks = async function() {
   35    35 	var folder = await ensureFolder();
   36    36 	return await chrome.bookmarks.getChildren(folder.id);
   37    37 };
   38    38 
   39    -1 var updateCount = async function() {
   -1    39 export var updateCount = async function() {
   40    40 	var bookmarks = await getBookmarks();
   41    41 	chrome.action.setBadgeText({text: '' + bookmarks.length});
   42    42 	chrome.action.setBadgeBackgroundColor({
@@ -44,14 +44,14 @@ var updateCount = async function() {
   44    44 	});
   45    45 };
   46    46 
   47    -1 var popBookmark = async function(id) {
   -1    47 export var popBookmark = async function(id) {
   48    48 	var items = await chrome.bookmarks.get(id);
   49    49 	await chrome.bookmarks.remove(id);
   50    50 	await updateCount();
   51    51 	return items[0];
   52    52 };
   53    53 
   54    -1 var pushBookmark = async function(tab) {
   -1    54 export var pushBookmark = async function(tab) {
   55    55 	var folder = await ensureFolder();
   56    56 	var url = tab.url;
   57    57 	if (tab.isInReaderMode) {

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

@@ -51,7 +51,6 @@
   51    51 <body>
   52    52 	<ul id="bookmarks"></ul>
   53    53 
   54    -1 	<script src="shared.js"></script>
   55    -1 	<script src="stack.js"></script>
   -1    54 	<script src="stack.js" type="module"></script>
   56    55 </body>
   57    56 </html>

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

@@ -1,3 +1,5 @@
   -1     1 import { getBookmarks, popBookmark } from './shared.js';
   -1     2 
    1     3 var render = function(element, items) {
    2     4 	if (items.length === 0) {
    3     5 		element.outerHTML = '<p>No links stored yet.</p>'