Streamus
The most popular Chrome extension YouTube video player.
Overview
This is the repository for Streamus the browser extension. The source for Streamus' server and website are located in their own, respective repositories.
Streamus is currently supported on all derivatives of WebKit such as Chrome, Opera, Slimjet, and Iron. Additionally, it will support Edge once stable.
It can be installed through the Chrome Web Store, the Opera Web Store, or from the Streamus website
Development
Start by cloning the development branch. All PRs should be submitted to the development branch.
- For more information regarding development of Chrome extensions, see Getting Started: Building a Chrome Extension
- For more information regarding Chrome extension APIs, see Chrome Platform APIs
You will need to have [Node]( Dependencieshttps://nodejs.org/), [Grunt](http://gruntjs.com/), and [jspm](http://jspm.io/) installed on your system. After installing Node, navigate using a terminal to the directory in which you cloned Streamus. Then, perform the following command to install dependencies:
npm install jspm install
Streamus' CSS is compiled via [LESS]( Compiling codehttp://lesscss.org/) and much of it's JavaScript is transpiled via [Babel](https://babeljs.io/). Run the following command from your terminal to build a usable version of Streamus:
grunt compile
This command will parse all currently existing .less files and transform them into .css. Then, it will compile all ES6 JavaScript files into their equivalent ES5 syntax. Then, it will begin to watch for modifications to those files and automatically re-compiled as needed. All compiled files go into the /compiled directory.
You will need to modify the example key files located in the [/js/background/key/]( API keyshttps://github.com/MeoMix/StreamusChromeExtension/tree/Development/src/js/background/key) directory. Copy `youTubeAPIKey.js.example`, rename it to `youTubeAPIKey.js` and replace the example API key with your own. Production keys are not committed to GitHub. The example key provided should not be relied upon for anything other than testing and it may be revoked without warning. You are strongly encouraged to generate your own key.
Ensure that the property 'localDebug' is set to **false** unless you have configured an instance of Streamus' server on your local machine. The localDebug property can be found at [/js/background/application.js]( Server settingshttps://github.com/MeoMix/StreamusChromeExtension/blob/Development/src/js/background/application.js).
1. Navigate to **chrome://extensions/** 2. Ensure the checkbox labeled **Developer mode** is enabled. 3. Click the button labeled **Load unpacked extension...** 4. Select the directory **/StreamusChromeExtension/compiled** (Note: this directory won't exist by default. See Compiling code for more details) Loading the extension
Test cases may be ran by navigating to chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/test.html, but only after the extension package has been loaded into Google Chrome. Alternatively, tests may be ran through grunt via `grunt test` Testing
Libraries
Streamus uses a fair number of third-party JavaScript libraries. Introduction of additional libraries for off-the-shelf functionality is discouraged. Non-core libraries may be removed in the near future and additional functionality should not be implemented with them.
* [jQuery]( Corehttp://jquery.com/) * [Backbone](http://backbonejs.org/) * [Marionette](http://marionettejs.com) * [lodash](http://lodash.com/) * [jspm](http://jspm.io//) * [SystemJS](https://github.com/systemjs/systemjs) * [Babel](https://babeljs.io/) * [Grunt](http://gruntjs.com/) * [Handlebars](http://handlebarsjs.com/)
* [Backbone LocalStorage]( Non-corehttps://github.com/jeromegn/Backbone.localStorage) * [Backbone Cocktail](https://github.com/onsi/cocktail) * [jQuery UI](http://jqueryui.com/)
* [Mocha]( Testinghttp://mochajs.org/) * [Chai](http://chaijs.com/) * [Sinon](http://sinonjs.org/)
Authors
with translation support provided by a community of volunteers.