This is a radio player for austrian radio stations (Ö3, Fm4, Ö1, + 9 district radios) There is a web version available at radio.paulem.eu and a chrome packaged app. But packaged apps are soon to be history and therefore this repository aims to bring the radioplayer to Electron.
- Polymer, Paper and Iron elements
- Material Design layout
- Routing with Page.js
- End-to-end Build Tooling (including Vulcanize)
To be able to contribute:
- Get a copy of the code.
- Install the dependencies if you don't already have them.
With Node.js installed, run the following one liner from the root of the project download:
npm install -g gulp bower && npm install && bower install && npm run rebuildThe app requires the following major dependencies:
- Node.js, used to run JavaScript tools from the command line.
- npm, the node package manager, installed with Node.js and used to install Node.js packages.
- gulp, a Node.js-based build tool.
- bower, a Node.js-based package manager used to install front-end packages (like Polymer).
- MPRIS-Service w/ DBUS, enables MPRIS features.
To install dependencies:
- Check your Node.js version.
node --versionThe version should be at or above 0.12.x.
-
If you don't have Node.js installed, or you have a lower version, go to nodejs.org and click on the big green Install button.
-
Install
gulpandbowerglobally.
npm install -g gulp bowerThis lets you run gulp and bower from the command line.
- Install the project's local
npmandbowerdependencies.
cd RadioAustria && npm install && bower installThis installs the element sets (Paper, Iron, Platinum) and tools the starter kit requires to build and serve apps.
- Rebuild MPRIS-Service for Electron.
npm run rebuildgulp serveThis outputs an IP address you can use to locally test and another that can be used on devices connected to your network.
npm startThis runs the project by building, vulcanizing and starting the Electron shell.
gulpBuild and optimize the current project, ready for deployment. This includes linting as well as vulcanization, image, script, stylesheet and HTML optimization and minification.
Polymer 1.0 introduces a shim for CSS custom properties. We take advantage of this in app/styles/app-theme.html to provide theming for your application. You can also find our presets for Material Design breakpoints in this file.
Read more about CSS custom properties.
Polymer uses Bower for package management. This makes it easy to keep your elements up to date and versioned. For tooling, we use npm to manage Node.js-based dependencies.
We are open to all new contributors. Feel free to create some pull requests and just contact us if you want to be collaborator.