Coder Social home page Coder Social logo

hayribakici / impulse-blocker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from raicem/impulse-blocker

0.0 2.0 0.0 973 KB

Block distracting websites when you are browsing the web. Use for procrastination.

Home Page: https://blog.cemunalan.com.tr/2017/05/17/impulse-blocker-guide/

License: MIT License

JavaScript 89.04% CSS 9.11% HTML 1.85%

impulse-blocker's Introduction

Impulse Blocker

Block distracting websites when you are browsing the web. Written using WebExtensions so it will be compatible with the future releases of Firefox.

Installation and Usage

If you want to install and use the extension please head over to here.

Simple usage guide can be found here.

Building

If you want to build the extension yourself using the source code, follow these steps.

Dependencies

Make sure you have node (version 11) and npm (version 6) installed on your machine.

Then clone this repository:

git clone https://github.com/raicem/impulse-blocker.git

Then install the dependencies using npm

npm install

If you want to build it to sideload the extension without using the Mozilla's AMO use this command.

npm run release

This will create a zip file in the web-ext-artifacts folder. This file contains everything the Firefox needs to run the extension. You can install it following instructions here and here.

Again just a reminder, you can install the extension from the official add-ons page. Simple usage instructions are here.

Contributing

The extension is open for any kinds of contribution. Please note that it requires a basic knowledge about WebExtensions API and React.

After following the steps explained in the Building section above, all you have to do is run these commands in parallel.

npm run watch will start the Webpack watcher. This will immediately build the extension and create files to be loaded into the Firefox.

npm run browser will load the built files into the isolated Firefox instance and you will be able to see the changes you make immediately.

Testing

Make sure you run through these steps to make sure the extension works.

Impulse Blocker testing

Starting and stopping

  • Start the blocker with no blocked websites. It should not interfere.
  • Start blocking a website. It should be blocked.
  • Add a second website to the block list. It should also be blocked.
  • Stop the blocker. Websites should now be free to access.
  • Start the blocker again. See the websites are blocked again.

Pausing

  • Pause the blocker. Websites should be free to access.
  • Cancel the pause. Websites should be blocked.
  • Pause the blocker again and restart the browser. It should still be paused.
  • Close the browser again and wait for pause period to finish. When you open the browser it should not be in pause state and websites must be blocked.
  • Add a website when the blocker is paused. It should still be paused.

Options page

  • Add website from the options page. It should be blocked.
  • Remove website from the options page. It should be now accessible.
  • Stop extension from the options page. It should stop the blocker.
  • Start the extension from the options page. It should start the blocker.
  • Tick and check options and check they have the desired effect on the popup.

Contributors

Huge thanks to contributors!

impulse-blocker's People

Contributors

raicem avatar crote avatar lorenzoancora avatar pkonneker avatar dependabot[bot] avatar xebuz avatar mattwmaster58 avatar thynix avatar skrobeson avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.