-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
73 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# RedditPlayer | ||
|
||
[![Build Status](https://img.shields.io/travis/CookPete/reddit-player/master.svg)](https://travis-ci.org/CookPete/reddit-player) | ||
[![Dependency Status](https://img.shields.io/david/CookPete/reddit-player.svg)](https://david-dm.org/CookPete/reddit-player) | ||
[![devDependency Status](https://img.shields.io/david/dev/CookPete/reddit-player.svg)](https://david-dm.org/CookPete/reddit-player#info=devDependencies) | ||
|
||
Source code for [RedditPlayer](http://reddit.cookpete.com) | ||
|
||
<img src='https://cloud.githubusercontent.com/assets/1926029/12778838/ec1763c6-ca5c-11e5-9edb-9571f265f61c.png' width='600' /> | ||
|
||
## FAQ | ||
|
||
### What is this? | ||
RedditPlayer creates playlists from any Reddit comment thread, subreddit or multi-reddit. Just replace <strong>reddit.com</strong> in any Reddit URL to <strong>reddit.cookpete.com</strong> and you’re good. | ||
|
||
### How does it work? | ||
The app is written using [React](https://facebook.github.io/react). It fetches stuff from Reddit using [fetch-reddit](https://github.com/CookPete/fetch-reddit), then [react-player](https://github.com/CookPete/react-player) plays any supported URLs. Playlists are curated by the mighty [evilnight](https://www.reddit.com/r/listentothis/comments/1iwc8n/meta_announcing_the_official_rlistentothis_music/) over at [/r/listentothis](https://www.reddit.com/r/listentothis). | ||
|
||
### What can it play? | ||
RedditPlayer currently supports YouTube, SoundCloud and Vimeo links. | ||
|
||
### What about [radd.it](http://radd.it), [reddit.musicplayer.io](https://reddit.musicplayer.io), [redditplaylister](http://redditplaylister.phoenixforgotten.com), etc? | ||
Yes, there are other apps that do the job. I wanted to create something simple with a clean, minimal interface. Also, this app fixes [issues](https://github.com/CookPete/react-player/issues/7) that other apps still suffer from. | ||
|
||
## Development | ||
|
||
See the app [in action](http://reddit.cookpete.com) or run it locally yourself: | ||
|
||
```bash | ||
git clone https://github.com/CookPete/reddit-player.git | ||
cd reddit-player | ||
npm install | ||
npm run fetch-playlists | ||
npm start | ||
open http://localhost:3000 | ||
``` | ||
|
||
### Fetching playlists | ||
|
||
The lists of playlists and subreddits on the front page is parsed from a set of multi-reddits curated by [evilnight](https://www.reddit.com/r/listentothis/comments/1iwc8n/meta_announcing_the_official_rlistentothis_music/). This script fetches the data from the Reddit API, and writes only what the app needs to `/data/playlists.json`. | ||
|
||
```bash | ||
npm run fetch-playlists | ||
``` | ||
|
||
### Building | ||
|
||
Running will compile all code into a single JS and CSS file inside `dist`. There is also a super-minimal html file to run the app. | ||
|
||
```bash | ||
npm run build | ||
``` | ||
|
||
### Linting | ||
|
||
This project uses [standard](https://github.com/feross/standard) and [scss-lint](https://github.com/brigade/scss-lint) to prevent errors and keep code styles consistent. | ||
|
||
```bash | ||
npm run lint | ||
``` | ||
|
||
### Testing | ||
|
||
This project uses [mocha](https://github.com/mochajs/mocha) with [chai](https://github.com/chaijs/chai) assertions for unit testing. | ||
|
||
```bash | ||
npm run test | ||
``` | ||
|
||
## Thanks | ||
|
||
* [gaearon](https://github.com/gaearon) for his [react-transform-boilerplate](https://github.com/gaearon/react-transform-boilerplate), which this repo is roughly based on. | ||
* [evilnight](https://reddit.com/user/evilnight) and the mods at [/r/listentothis](https://reddit.com/r/listentothis) for the great library of multi-reddits to use as playlists. |