Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seanpoulter/browser-extension-youtube
Improve your user experience on YouTube 📺
https://github.com/seanpoulter/browser-extension-youtube
browser-extension chrome-extension firefox-extension safari-extension user-experience youtube
Last synced: 27 days ago
JSON representation
Improve your user experience on YouTube 📺
- Host: GitHub
- URL: https://github.com/seanpoulter/browser-extension-youtube
- Owner: seanpoulter
- Created: 2019-04-08T03:33:14.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-09T02:22:51.000Z (almost 6 years ago)
- Last Synced: 2024-11-13T20:54:18.283Z (3 months ago)
- Topics: browser-extension, chrome-extension, firefox-extension, safari-extension, user-experience, youtube
- Language: TypeScript
- Homepage:
- Size: 123 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Improve your experience on YouTube
## Features
* Hide ads
* Add faster playback rates## Supported Browsers
The extension uses the `MutationObserver` interface which was introduced in:
* Chrome v26
* Firefox v14
* Safari v6.1These versions are found in the browser support table on [caniuse.com](https://caniuse.com/#feat=mutationobserver).
--
## Design Goals
* Easy to change and keep up with the changing website
* Easy to monitor if the extension is still working## Motivation
This is a hobby project that's really an excuse to:
* Use TypeScript and Babel
* Use Observables but write them from scratch
* Practice test-driven development## Roadmap
* [x] Create an Observable
* [x] Create an Observable from an EventListener
* [x] Bundle the generated code
* [x] Add a manifest file to be able to test the extension in Chrome
* [ ] Create an Observable from a `MutationObserver`
* [ ] Detect when a skippable ad has been added to the DOM
* ...
* [ ] Support Chrome
* [ ] Support Firefox
* [ ] Support Safari
--
## References
* The Observables in this project are influenced by:
* the documentation and source code from the [RxJS](https://github.com/ReactiveX/rxjs) project which is published with an open source Apache License 2.0.
* the [RxJS Beyond the Basics: Creating Observables from scratch](https://egghead.io/courses/rxjs-beyond-the-basics-creating-observables-from-scratch) course on [Egghead.io](https://egghead.io)
* the documentation for the `Rx.DOM.fromMutationObserver` API from the [RxJS-DOM](https://github.com/Reactive-Extensions/RxJS-DOM) project which is published with an open source Apache License 2.0
* Chrome
* The [Manifest File Format](https://developer.chrome.com/extensions/manifest)