An extension that allows you to disable certain hyperlink protocols on a page. The original purpose was to disable the mailto protocol on ZenDesk. But I figured I would try to make it remove whatever protocols you don't like (http, tel, whatever). This is mostly just me practicing a complete project with all the things a project should have like versioning, deploying to store, documentation, etc.
Current Features:
- Can turn it on and off
- Disables all links on the page
- Disables any future links added to page after initial load
- Can re-enable links whenever you want
- Choose which protocols you want to remove (http, mailto, tel, etc.)
Next:
- Can white-/black-list websites from running the app
Future:
- autofill from URI scheme list
- have white-/black-listing pull from current site (pages or entire sites)
- create options page to set values more directly
- import/export config
- styling
- create icon for toggle on off
- make protocols like a tagging system on forums
If you would like to contribute, or think there are improvements you can make follow the instructions here to be able to make and test changes.
- Google Chrome
- git
- GitHub
- ESLint: Used for identifying and reporting on patterns found in ECMAScript/JavaScript code. I like it more than JSLint. Needs Node.
Optional:
- VS Code: My preferred text editor/ IDE.
Extensions:
- ESLint: runs ESLint while editing files
- Markdown All in One: useful shortcuts and commands for markdown
- markdownlint: cool linter for markdown
- Spell Right: VS Code doesn't have native spellcheck.
- iTerm2 + oh-my-zsh: just a more useable terminal. I only use it when I'm too lazy to open VS Code though
git clone https://github.com/draav/remove-hyperlink-hrefs.gitI am using a linter called ESLint, so verify all code written by either installing the VS code extension (it will underline and notify of any violations) or just use the console command:
eslint file.jsIt should automatically use the eslintrc.json that's in this repo.
- Load Unpacked extension: just check the first few instructions on how to get the app loaded into chrome
- Debug using Inspector