From 30f76620c27e6cb8b1500c43d93f8d744bfd79f2 Mon Sep 17 00:00:00 2001 From: Jean Date: Sat, 22 Feb 2025 15:37:26 -0800 Subject: [PATCH] Adding Google Chrome support --- .gitignore | 1 + package-lock.json | 10 ++++++++- package.json | 5 +++-- rollup.config.js | 28 ++++++++++++++++++------- src/icons/128x.png | Bin 0 -> 15424 bytes src/icons/16x.png | Bin 0 -> 1022 bytes src/icons/32x.png | Bin 0 -> 2776 bytes src/icons/48x.png | Bin 0 -> 4707 bytes src/icons/64x.png | Bin 0 -> 6939 bytes src/icons/96x.png | Bin 0 -> 11225 bytes src/{ => icons}/metamorpov.svg | 0 src/icons/svg-to-png.sh | 10 +++++++++ src/manifest.json | 28 +++++++++++-------------- src/replace-words.js | 4 +++- src/{popup.js => save-load-options.js} | 9 +++++--- 15 files changed, 64 insertions(+), 31 deletions(-) create mode 100644 src/icons/128x.png create mode 100644 src/icons/16x.png create mode 100644 src/icons/32x.png create mode 100644 src/icons/48x.png create mode 100644 src/icons/64x.png create mode 100644 src/icons/96x.png rename src/{ => icons}/metamorpov.svg (100%) create mode 100755 src/icons/svg-to-png.sh rename src/{popup.js => save-load-options.js} (97%) diff --git a/.gitignore b/.gitignore index af84b01..55194c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules src/content-script.js +src/popup.js dist diff --git a/package-lock.json b/package-lock.json index 51e37c8..e52a2ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,8 @@ "english-verbs-helper": "3.3.1", "english-verbs-irregular": "3.3.1", "rollup": "^4.27.3", - "web-ext": "^8.3.0" + "web-ext": "^8.3.0", + "webextension-polyfill": "^0.12.0" } }, "node_modules/@babel/code-frame": { @@ -5277,6 +5278,13 @@ "npm": ">=8.0.0" } }, + "node_modules/webextension-polyfill": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz", + "integrity": "sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==", + "dev": true, + "license": "MPL-2.0" + }, "node_modules/when": { "version": "3.7.7", "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", diff --git a/package.json b/package.json index 000bdb8..03f73b4 100644 --- a/package.json +++ b/package.json @@ -12,16 +12,17 @@ "license": "GPL-3.0-or-later", "scripts": { "test": "npx rollup -c && npx web-ext run -s src", - "build": "npx rollup -c && npx web-ext build -s src -a dist --ignore-files replace-words.js -o" + "build": "npx rollup -c && npx web-ext build -s src -a dist --ignore-files replace-words.js save-load-options.js icons/metamorpov.svg icons/svg-to-png.sh -o" }, "devDependencies": { "@rollup/plugin-commonjs": "28.0.2", + "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "15.3.0", "english-verbs-gerunds": "3.3.1", "english-verbs-helper": "3.3.1", "english-verbs-irregular": "3.3.1", "rollup": "^4.27.3", "web-ext": "^8.3.0", - "@rollup/plugin-json": "^6.1.0" + "webextension-polyfill": "^0.12.0" } } diff --git a/rollup.config.js b/rollup.config.js index b255b22..008a17d 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -2,12 +2,24 @@ import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import json from '@rollup/plugin-json'; -export default { - input: 'src/replace-words.js', - output: { - file: 'src/content-script.js', - format: 'iife', - name: 'contentScript' +export default [ + { + input: 'src/save-load-options.js', + output: { + file: 'src/popup.js', + format: 'iife', + name: 'popup' + }, + plugins: [resolve(), commonjs(), json()] }, - plugins: [resolve(), commonjs(), json()] -}; + + { + input: 'src/replace-words.js', + output: { + file: 'src/content-script.js', + format: 'iife', + name: 'contentScript' + }, + plugins: [resolve(), commonjs(), json()] + } +]; diff --git a/src/icons/128x.png b/src/icons/128x.png new file mode 100644 index 0000000000000000000000000000000000000000..d31e6a4800317aaecd86867255b71de58e0b74fe GIT binary patch literal 15424 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 literal 0 HcmV?d00001 diff --git a/src/icons/32x.png b/src/icons/32x.png new file mode 100644 index 0000000000000000000000000000000000000000..b358673966ad9efb7de531750bd528a60cac3713 GIT binary patch literal 2776 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 D8JP6? literal 0 HcmV?d00001 diff --git a/src/metamorpov.svg b/src/icons/metamorpov.svg similarity index 100% rename from src/metamorpov.svg rename to src/icons/metamorpov.svg diff --git a/src/icons/svg-to-png.sh b/src/icons/svg-to-png.sh new file mode 100755 index 0000000..dda839b --- /dev/null +++ b/src/icons/svg-to-png.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p inkscape +# Uses Inkscape to generate .png files from the provided input + +inkscape -o 16x.png -w 16 $1 +inkscape -o 32x.png -w 32 $1 +inkscape -o 48x.png -w 48 $1 +inkscape -o 64x.png -w 64 $1 +inkscape -o 96x.png -w 96 $1 +inkscape -o 128x.png -w 128 $1 diff --git a/src/manifest.json b/src/manifest.json index 3ff5641..7a586af 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -17,12 +17,12 @@ "action": { "default_title": "MetamorPOV", "default_icon": { - "16": "metamorpov.svg", - "32": "metamorpov.svg", - "48": "metamorpov.svg", - "64": "metamorpov.svg", - "96": "metamorpov.svg", - "128": "metamorpov.svg" + "16": "icons/16x.png", + "32": "icons/32x.png", + "48": "icons/48x.png", + "64": "icons/64x.png", + "96": "icons/96x.png", + "128": "icons/128x.png" }, "default_popup": "popup.html" }, @@ -38,12 +38,12 @@ ], "icons": { - "16": "metamorpov.svg", - "32": "metamorpov.svg", - "48": "metamorpov.svg", - "64": "metamorpov.svg", - "96": "metamorpov.svg", - "128": "metamorpov.svg" + "16": "icons/16x.png", + "32": "icons/32x.png", + "48": "icons/48x.png", + "64": "icons/64x.png", + "96": "icons/96x.png", + "128": "icons/128x.png" }, "content_scripts": [ @@ -58,9 +58,5 @@ } ], - "background": { - "page": "popup.html" - }, - "homepage_url": "https://git.viscogliosi-pate.com/jean/metamorpov" } diff --git a/src/replace-words.js b/src/replace-words.js index c76233e..90ed64a 100644 --- a/src/replace-words.js +++ b/src/replace-words.js @@ -1,3 +1,4 @@ +var browser = require("webextension-polyfill"); const verbsHelper = require("english-verbs-helper"); const verbsIrregular = require("english-verbs-irregular/dist/verbs.json"); const verbsGerunds = require("english-verbs-gerunds/dist/gerunds.json"); @@ -5,7 +6,8 @@ const verbsData = verbsHelper.mergeVerbsData(verbsIrregular, verbsGerunds); /* Replaces verbs, point-of-view, name, pronouns, and "also" terms */ function replaceAll() { - browser.storage.local.get(null, (options) => { + let options = browser.storage.local.get(); + options.then((options) => { const hostname = window.location.hostname; const isEnabled = !(options.domains === undefined) && options.domains.includes(hostname); if (!isEnabled) { return; } diff --git a/src/popup.js b/src/save-load-options.js similarity index 97% rename from src/popup.js rename to src/save-load-options.js index 9be1280..e9bb07c 100644 --- a/src/popup.js +++ b/src/save-load-options.js @@ -1,3 +1,5 @@ +var browser = require("webextension-polyfill"); + document.addEventListener("DOMContentLoaded", init); function init() { @@ -14,14 +16,15 @@ function init() { function loadDomain() { let tabs = browser.tabs.query({ active: true, currentWindow: true }); tabs.then((tabs) => { - const hostname = new URL(tabs[0].url).hostname; - document.querySelector("#domain").textContent = hostname; + const url = new URL(tabs[0].url); + const isAllowedProtocol = url.protocol == "https:" || url.protocol == "http:"; - if (!hostname) { + if (!isAllowedProtocol) { disableToggle(); return; } + document.querySelector("#domain").textContent = url.hostname; let storage = browser.storage.local.get("domains"); storage.then((storage) => { const hostname = document.querySelector("#domain").innerHTML;