Extension, Chrome, Firefox – Making a quick web extension for Chrome
Like anyone, I usually extended functionalities of the browsers that I am using. Unfortunately, when you upgrade your browser, some of the web extension does not work any more.
That is the case for the add-ons JSONView for Firefox, made by Ben Hollis. This add-ons is perfect if you are working with JSON files or a JSON output from an API. It enables you to inspect the file structure and the content easily. Sadly, the add-ons no longer works with the “new” Firefox Quantum (v57).
Apparently, an update is forecast but many users including me are still waiting.
What I had in mind was to investigate how it was possible to build quickly a new extension ? It was hardly lost and far beyond my skills, especially if my purpose was to build a JSON viewer ! But as I did some explorations, it has generated easily some product ideas.
Just find out, that it was not so complicated to ship a small web extension mostly based on simple technologies : HTML, CSS and JavaScript.
You can find the source code on github
https://github.com/bflaven/BlogArticlesExamples/tree/master/chrome-test-extension-4
Conclusion: Like always if you iterate quickly, you will get a quick shippable extension mostly for your personal use.
The web extension that parse the 25 articles of the RSS
Installation and uninstallation at chrome://extensions/
The manifest.json of the web extension
{ "manifest_version": 2, "name": "F24 English News Reader", "author": "Bruno Flaven <info@flaven.fr>", "version": "1.0", "homepage_url": "https://github.com/bflaven", "description": "Displays items from the France 24 in English from a RSS feed in a popup.", "icons": { "128": "icons/icon_128x128.png", "91": "icons/icon_91x91.png", "19": "icons/icon_19x19.png" }, "browser_action": { "default_title": "F24 English News Reader", "default_icon": "icons/icon_19x19.png", "default_popup": "feed.html" }, "permissions": [ "tabs", "http://www.france24.com/en/top-stories/rss" ], "content_security_policy": "img-src 'self' http://* https://*; script-src 'self'; connect-src http://www.france24.com/en/top-stories/rss;object-src 'self'; frame-src data:" } |
Read more
- JSONView for Chrome
https://github.com/jamiew/jsonview-chrome - How To Develop A Firefox Extension
https://robertnyman.com/2009/01/24/how-to-develop-a-firefox-extension/ - Create a Simple Web Extension
https://davidwalsh.name/web-extensions - Add-ons Mozilla – Your first extension
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension - How to enable legacy extensions in Firefox 57
https://www.ghacks.net/2017/08/12/how-to-enable-legacy-extensions-in-firefox-57/ - webextensions-examples
https://github.com/mdn/webextensions-examples - “borderify” WebExtension – part 1
https://www.youtube.com/watch?v=cer9EUKegG4 - Add-ons Mozilla – Browser Extensions
https://developer.mozilla.org/en-US/Add-ons/WebExtensions - How to Create a Chrome Extension in 10 Minutes Flat
https://www.sitepoint.com/create-chrome-extension-10-minutes-flat/
- Interacting with Browser Content From Your Chrome Extension
https://www.sitepoint.com/premium/screencasts/interacting-with-browser-content-from-your-chrome-extension - chrome-extension-development by learnable-content – lesson 1.3
https://github.com/learnable-content/chrome-extension-development/tree/lesson1.3 - chrome-extension-development by learnable-content – lesson 1.4
https://github.com/learnable-content/chrome-extension-development/tree/lesson1.4 - How to Make a Chrome Extension
https://robots.thoughtbot.com/how-to-make-a-chrome-extension - Sample Extensions @ developer.chrome
https://developer.chrome.com/extensions/samples - Tutorial: Debugging @ developer.chrome
https://developer.chrome.com/extensions/tut_debugging - Chrome DevTools
https://developers.google.com/web/tools/chrome-devtools/ - 11,587 icon packs from flaticon
https://www.flaticon.com/packs/2 - Manifest – Icons
https://developer.chrome.com/apps/manifest/icons - Source of the JSON Viewer Extension
https://github.com/tulios/json-viewer - The RT News Extension
https://chrome.google.com/webstore/detail/rt-news/kloiceblkijlknknaibcaieiicafajlo?hl=fr - Developing Google Chrome Extensions
https://code.tutsplus.com/tutorials/developing-google-chrome-extensions–net-33076 - All Chrome Extension examples collected into one repository
https://github.com/orbitbot/chrome-extensions-examples