Skip to content

A Chrome, Firefox, Opera and Edge extension to increase contrast, decrase brightness and invert color of websites

License

Notifications You must be signed in to change notification settings

Eliastik/page-shadow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Page Shadow :

Screenshot

English :

An extension by Eliastik (eliastiksofts.com) - Contact : http://www.eliastiksofts.com/contact/

This is the source code for the extension Page Shadow, compatible with Chrome/Chromium, Firefox, Opera and Microsoft Edge. This extension uses the WebExtensions technology via the Chrome API (more infos : https://developer.mozilla.org/fr/Add-ons/WebExtensions ).

Page Shadow is an extension designed to render a web page more readable in a dark environment. It allows you to increase page contrast, decrease page brightness, invert images colors, or activate a night mode (apply an orange filter on the page to reduce the blue light emitted by the screen).

Installation:

Page Shadow is avalaible to download and install at the following addresses:

For the other compatibles browser, you can install this extension from the official website: http://eliastiksofts.com/page-shadow Or you can compile it yourself (see Compilation section).

Changelog:

Version 2.3 (1/12/2017) :

  • Added the possibility to create a custom theme;
  • Improved the Invert images colors tool: background images are now detected, which greatly improves the rendering of the tool;
  • Bug fixes and adjustments:
    • Simplified and improved CSS code, which improves the compatibility with some websites (the tool Increase page contrast now target all HTML elements except some exceptions);
    • The extension now works for local web pages (URLs file://) and for the ftp protocol;
    • Fixed a bug with the tool Decrease page brightness with some websites;
    • Updated some software libraries;
    • Fixed the HTML code of the Advanced settings page;
    • Others minor adjustments and minor bug fixes.

Version 2.2 (25/10/2017) :

  • Added 5 new themes (10 to 15);
  • Bug fixes, major changes in the extension structure and minor adjustments:
    • Optimizations and important changes in the code of the management of the parameters (dynamic detection of the changes in real time);
    • Bug fixes for Firefox Android: disabling the extension for a site or page now works, the main settings panel now scrolls correctly;
    • Fixed a bug in the tool Decrease page brightness: in some cases, the percentage of brightness decrease could be incorrect, that made the settings panel completely dark;
    • When resetting the settings, the language is now reseted correctly (re-detection of the browser language instead of setting the default language to French);
    • Fixed some error messages (appearing in the Javascript console);
    • Better detection of the URLs of the web pages visited;
    • Correction and optimization of the management code of the right-click menu;
    • Added global configuration variables of the extension in the file "util.js";
    • Correction of the code managing the translations of the extension;
    • Updated some software libraries (i18next and Bootstrap Slider);
    • Added extension license informations to the source files;
    • Added a link to the options page in the Firefox Extensions Manager;
    • Aesthetic corrections, text corrections and other minor adjustments;
    • The JS and CSS source files are now compressed in the production version of the extension (added new compilation commands). This reduces the weight of the extension.

Version 2.1.1, or 2.1 REV1 (09/09/2017) :

  • Revision for the version 2.1:
    • XML parsing error in Firefox fixed (bug in i18nextXHRBackend) ;
    • The settings are now initialised directly after the installation of the extension ;
    • Bug fixed with the manifest file for Microsoft Edge (persistent key in background key).

Version 2.1 (04/09/2017) :

  • Improved performance by fixing a bug: the processor could be occupied more than 50% in some special cases ;
  • Added the possibility to toggle the list of websites ignored to a whitelist: all the websites are in this case ignored, and need to be unlocked manually ;
  • Added the possibility to choose the color temperature used by the Night mode ;
  • Bugs fixed and minor adjustments:
    • Corrections for the new Youtube interface (utilisation of non-standard HTML elements) ;
    • The SVG images are now supported by the tool Invert images colors ;
    • Improved layout of the window About and added icons in the Advanced settings ;
    • Corrections of some texts ;
    • Updated some libraries ;
    • Optimised code ;
    • Others minor adjustments and minor bugs fixed.

Version 2.0.3 (09/07/2017) :

  • It is now possible to disable Page Shadow for a particular website or page via the right-click or via the extension menu
  • Bug fixes and minor adjustments :
    • Themes 2 and 3 now have a gray background for transparent images
    • Added support for HTML form and caption elements by the Increase page contrast tool (improves rendering of the tool)
    • Fixed a bug with tool setting Decrease page brightness
    • The image on the test page of the extension now correctly resizes when the browser window is resized
    • Basic support for future versions of Firefox for Android (not tested)
    • Small adjustments of the code

Version 2.0.2 (17/06/2017) :

  • The settings can now be applied in real time
  • Fixed Page Shadow icon (the shadow is better)
  • Bugs fixes :
    • Bug fixed with the manifest.json file (one manifest.json different for each browser have been created)
    • Bug fixed with the automatic reactivation of the tool Increase page contrast with some particular websites (such as Youtube)
    • Bug fixed with the Gulpfile (which allows the compilation of the extension). The extension can now be compiled for Edge and Opera
    • Other minor adjustements.

Version 2.0.1 (09/06/2017) :

  • Microsoft Edge support
  • Performance improvements and bugs fixes :
    • Switched to chrome.storage API instead of localstorage
    • Removed Jquery dependency for Content Scripts
    • Fixed bug with browser language detection : the form field in the advanced settings remained blank in certains cases
    • Fixed bug with the Increase page contrast tool with some websites (such as Youtube)
    • Other minor adjustements.

Version 2.0 (05/06/2017) :

  • Firefox support
  • New graphical theme based on Bootstrap
  • Integrated translation engine and added English translation
  • Added color themes for the "Increase contrast" tool
  • Added night mode
  • Added a mode to invert the color of the images
  • Performance improvements
  • Various fixes (bugs, texts)

Version 1.2.1 :

  • Fixed bug in the advanced settings
  • Adding informations about the extension in the advanced settings

Version 1.2 :

  • Optimisation of the popup layout
  • Improved function "Increase page contrast". The transparent images are now supported
  • Some adjustements

Version 1.1 :

  • Improved function "Increase page contrast"

Version 1.0 :

  • Initial version

Compilation :

You can compile yourself the extension with only one command line. To do this, you have to install npm and gulp.

To install npm for your OS, read this page: https://docs.npmjs.com/getting-started/installing-node

To install gulp with npm, run the following command:

npm i -g gulp

Git clone the repository and cd to the project directory (or download it directly from Github):

git clone https://github.com/Eliastik/page-shadow.git
cd page-shadow

The compilation need the following npm packages (which will be created in the project directory): gulp (local), fs, gulp-clean, gulp-clean-css, gulp-crx-pack, gulp-minify, gulp-zip and run-sequence

To install these packages, run the following command:

npm install

Then to compile:

  • Dev mode (no compression): gulp or gulp build-dev
  • Prod mode (compression): gulp build-prod or gulp build-prod-no-js-compress (only compress css files) or build-prod-no-css-compress (only compress js files)

The extension files compiled will be created in the sub-directory "build".

(Note: The key directory contains a key needed to compile the Chrome extension).

To install the extension in Firefox, you need to modify the following value in about:config to "false": xpinstall.signatures.required Then launch the installation with the .xpi file.

For Chrome, slide the .crx file in the extension window (chrome://extensions).

Then if you want to clean the build directory, run the command gulp clean-build

Licence :

Copyright (C) 2015-2017 Eliastik (eliastiksofts.com)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Credits :

Français :

Une extension by Eliastik (eliastiksofts.com) - Contact : http://www.eliastiksofts.com/contact/

Ceci est le code source de l'extension Page Shadow, compatible avec Chrome/Chromium, Firefox, Opera et Microsoft Edge. Cette extension utilise la technologie WebExtensions via l'API Chrome (plus d'infos : https://developer.mozilla.org/fr/Add-ons/WebExtensions ).

Page Shadow est une extension comprenant une série d'outils pour améliorer la lecture de pages web dans une pièce mal éclairée/autre. Elle vous permet d'augmenter le contraste de la page, de baisser la luminosité de la page, d'inverser les couleurs des images ou d'activer un mode nuit (applique un filtre orangé sur la page pour réduire la lumière bleue émise par l'écran).

Installation :

Page Shadow est disponible au téléchargement et à l'installation aux adresses suivantes :

Pour les autres navigateurs compatibles, vous pouvez soit l'installer depuis le site officiel : http://eliastiksofts.com/page-shadow Soit la compiler vous-même (voir section "Compilation").

Journal des changements :

Version 2.3 (1/12/2017) :

  • Ajout de la possibilité de créer un thème personnalisé ;
  • Amélioration de l'outil Inverser les couleurs des images : les images d'arrière-plan sont désormais détectées, ce qui améliore grandement le rendu de l'outil ;
  • Corrections de bugs et ajustements :
    • Code CSS simplifié et amélioré, ce qui améliore la compatibilité avec certains sites web (l'outil Augmenter le contraste de la page cible tous les éléments HTML sauf quelques exceptions) ;
    • L'extension fonctionne désormais pour les pages web locales (URLs file://) et pour le protocole ftp ;
    • Correction d'un bug avec l'outil Baisser la luminosité de la page avec certains sites web ;
    • Mise à jour de certaines bibliothèques logicielles ;
    • Code HTML de la page des Paramètres avancés corrigé ;
    • Autres petits ajustements et corrections de bugs mineurs.

Version 2.2 (25/10/2017) :

  • Ajout de 5 nouveaux thèmes (10 à 15) ;
  • Corrections de bugs, changements importants dans la structure de l'extension et ajustements mineurs :
    • Optimisations et changements importants dans le code de la gestion des paramètres (détection dynamique des changements en temps réel) ;
    • Corrections de bugs pour Firefox pour Android : la désactivation de l'extension pour un site ou une page fonctionne désormais, le panneau des paramètres principal défile désormais correctement ;
    • Correction d'un bug de l'outil Baisser la luminosité de la page : dans certains cas, le pourcentage de baisse de la luminosité pouvait être incorrect, ce rendait le panneau des paramètres entièrement sombre ;
    • Lors de la réinitialisation des paramètres, la langue est désormais réinitialisée correctement (re-détection de la langue du navigateur au lieu de mettre la langue en français par défaut) ;
    • Correction de certains messages d'erreur (apparaissant dans la console Javascript) ;
    • Meilleure détection de l'URL des pages web visitées ;
    • Correction et optimisation du code de la gestion du menu clic-droit ;
    • Ajout des variables de configuration globale de l'extension dans le fichier "util.js" ;
    • Correction du code gérant les traductions de l'extension ;
    • Mise à jour de certaines bibliothèques logicielles (i18next et Bootstrap Slider) ;
    • Ajout des avis de licence de l'extension dans les fichiers sources ;
    • Ajout d'un lien vers la page d'options dans le gestionnaire d'extensions de Firefox ;
    • Corrections esthétiques, corrections des textes et autres ajustements mineurs ;
    • Les fichiers sources JS et CSS sont désormais compressés dans la version de production de l'extension (ajout de nouvelles commandes de compilation). Cela réduit le poids de l'extension.

Version 2.1.1, ou 2.1 REV1 (09/09/2017) :

  • Révision pour la version 2.1 :
    • Erreur de parsing XML avec Firefox corrigé (bug avec i18nextXHRBackend) ;
    • Les paramètres sont désormais initialisés dès l'installation de l'extension ;
    • Bug corrigé avec le fichier manifeste pour Microsoft Edge (clé persistent dans la clé background).

Version 2.1 (04/09/2017) :

  • Amélioration des performances par la correction d'un bug : le processeur pouvait être occupé à plus de 50% dans certains cas particuliers ;
  • Ajout de la possibilité de basculer la liste des sites à ignorer en liste blanche : tous les sites sont dans ce cas ignorés, et il faut les débloquer manuellement ;
  • Ajout de la possibilité de choisir la température de couleur utilisée par le Mode nuit ;
  • Corrections de bugs et ajustements mineurs :
    • Corrections pour la nouvelle interface de Youtube (utilisation d'éléments HTML non standards) ;
    • Les images SVG sont désormais prises en charge par l'outil Inverser les couleurs des images ;
    • Mise en page de la fenêtre A propos améliorée et ajout d'icônes dans les Paramètres avancés ;
    • Corrections de certains textes ;
    • Mise à jour de certaines bibliothèques logicielles ;
    • Code optimisé ;
    • Autres petits ajustements et corrections de bugs mineurs.

Version 2.0.3 (09/07/2017) :

  • Il est désormais possible de désactiver Page Shadow pour un site ou une page particulière via le clic-droit ou via le menu de l'extension ;
  • Corrections de bugs et ajustements mineurs :
    • Les thèmes 2 et 3 ont désormais un fond gris pour les images transparentes ;
    • Ajout de la prise en charge des éléments HTML form et caption par l'outil Augmenter le contraste (améliore le rendu de l'outil) ;
    • Correction d'un bug avec le réglage de l'outil Baisser la luminosité de la page ;
    • L'image de la page d'exemple de l'extension se redimensionne désormais correctement lorsque la fenêre du navigateur est redimensionnée ;
    • Prise en charge basique des versions futures de Firefox pour Android (non testé) ;
    • Petits ajustements du code.

Version 2.0.2 (17/06/2017) :

  • Les paramètres peuvent désormais être appliqués en temps réel ;
  • Correction de l'icône de Page Shadow (l'ombre est de meilleure qualité) ;
  • Corrections de bugs :
    • Corrections de bugs avec le manifest.json (un manifest.json différent pour chaque navigateur a été créé) ;
    • Correction d'un bug avec la réactivation automatique de l'outil "Augmenter le contraste" avec certains sites particuliers (comme Youtube) ;
    • Corrections de bugs avec le fichier Gulp (qui permet la compilation de l'extension). L'extension peut désormais être compilée pour Edge et Opera ;
    • Autres petits ajustements.

Version 2.0.1 (09/06/2017) :

  • Compatibilité Microsoft Edge ;
  • Amélioration des performances et corrections de bugs :
    • Basculement de l'API localstorage vers l'API chrome.storage ;
    • Suppression de Jquery en tant que Content Script ;
    • Correction d'un bug avec la détection de la langue du navigateur : le champ dans les options avancées restait vide dans certains cas ;
    • Correction d'un bug de l'outil "Augmenter le contraste" avec certains sites (comme Youtube) ;
    • Autres petits ajustements.

Version 2.0 (05/06/2017) :

  • Compatibilité Firefox ;
  • Nouveau thème graphique basé sur Bootstrap ;
  • Moteur de traduction intégré et ajout d'une traduction en anglais ;
  • Ajout de thèmes de couleur pour l'outil "Augmenter le contraste" ;
  • Ajout d'un mode nuit ;
  • Ajout d'un mode permettant d'inverser la couleur des images ;
  • Amélioration des performances ;
  • Corrections diverses (bugs, textes).

Version 1.2.1 :

  • Correction d'un bug dans les paramètres avancés ;
  • Ajout d'informations sur l'application dans les paramètres avancés.

Version 1.2 :

  • Optimisation de la mise en page de la popup ;
  • Amélioration de l'outil "Augmenter le contraste". Les images transparentes sont désormais prises en charge ;
  • Quelques ajustements.

Version 1.1 :

  • Amélioration de la fonction "Augmenter le contraste".

Version 1.0 :

  • Version initiale.

Compilation :

Vous pouvez compiler vous-même l'extension en une ligne de commande. Pour cela, vous devez avoir installé npm et gulp.

Pour installer npm sur votre système, plus d'infos ici : https://docs.npmjs.com/getting-started/installing-node

Pour installer gulp avec npm, lancez la commande suivante :

npm i -g gulp

Faites un Git clone du dépôt et faites un cd vers le dossier du projet (ou bien téléchargez le directement depuis Github) :

git clone https://github.com/Eliastik/page-shadow.git
cd page-shadow

La compilation nécessite les paquets npm suivants (qui seront créés dans le dossier de ce projet) : gulp (local), fs, gulp-clean, gulp-clean-css, gulp-crx-pack, gulp-minify, gulp-zip et run-sequence

Pour les installer, lancez la commande suivante :

npm install

Puis pour compiler :

  • Mode dev (pas de compression): gulp ou gulp build-dev
  • Mode prod (compression): gulp build-prod ou gulp build-prod-no-js-compress (compresse uniquement les fichiers css) or build-prod-no-css-compress (compresse uniquement les fichiers js)

Les fichiers d'extension compilés seront créés dans le dossier "build".

(Note : le répertoire key contient une clé nécessaire à la création d'une extension Chrome).

Pour installer l'extension dans Firefox, vous devez modifier la valeur suivante dans about:config en "false" : xpinstall.signatures.required Puis lancez l'installation avec le fichier .xpi

Pour Chrome, faites glisser le fichier .crx dans la fenêtre des extensions (chrome://extensions).

Puis si vous souhaitez nettoyer le répertoire de build, lancez la commande gulp clean-build

Licence :

Copyright (C) 2015-2017 Eliastik (eliastiksofts.com)

Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le modifier suivant les termes de la GNU General Public License telle que publiée par la Free Software Foundation ; soit la version 3 de la licence, soit (à votre gré) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie tacite de QUALITÉ MARCHANDE ou d'ADÉQUATION à UN BUT PARTICULIER. Consultez la GNU General Public License pour plus de détails.

Vous devez avoir reçu une copie de la GNU General Public License en même temps que ce programme ; si ce n'est pas le cas, consultez http://www.gnu.org/licenses.

Credits :