Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MeoMix/StreamusChromeExtension

A YouTube video player as a Google Chrome extension
https://github.com/MeoMix/StreamusChromeExtension

Last synced: 12 days ago
JSON representation

A YouTube video player as a Google Chrome extension

Awesome Lists containing this project

README

        

Streamus


The most popular Chrome extension YouTube video player.









Overview

This is the repository for Streamus the browser extension. The source for Streamus' [server](https://github.com/MeoMix/StreamusServer) and [website](https://github.com/MeoMix/StreamusWebsite) are located in their own, respective repositories.

Streamus is currently supported on all derivatives of WebKit such as [Chrome](http://www.google.com/chrome/), [Opera](http://www.opera.com/computer/windows), [Slimjet](http://www.slimjet.com/en/), and [Iron](https://www.srware.net/en/software_srware_iron.php). Additionally, it will support [Edge](http://windows.microsoft.com/en-us/windows/preview-microsoft-edge-pc) once stable.

It can be installed through the [Chrome Web Store](https://chrome.google.com/webstore/detail/streamus/jbnkffmindojffecdhbbmekbmkkfpmjd/), the [Opera Web Store](https://addons.opera.com/en/extensions/details/streamustm-beta/), or from the [Streamus website](https://streamus.com/)

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](https://developer.chrome.com/extensions/getstarted)
* For more information regarding Chrome extension APIs, see [Chrome Platform APIs](https://developer.chrome.com/extensions/api_index)

Dependencies


You will need to have [Node](https://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

Compiling code


Streamus' CSS is compiled via [LESS](http://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.

API keys


You will need to modify the example key files located in the [/js/background/key/](https://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.

Server settings


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](https://github.com/MeoMix/StreamusChromeExtension/blob/Development/src/js/background/application.js).

Loading the extension


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)

Testing


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`

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.

Core


* [jQuery](http://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/)

Non-core


* [Backbone LocalStorage](https://github.com/jeromegn/Backbone.localStorage)
* [Backbone Cocktail](https://github.com/onsi/cocktail)
* [jQuery UI](http://jqueryui.com/)

Testing


* [Mocha](http://mochajs.org/)
* [Chai](http://chaijs.com/)
* [Sinon](http://sinonjs.org/)

Authors

* [MeoMix](https://github.com/MeoMix)

with translation support provided by a community of volunteers.