podlove / podlove-ui

Monorepo for all UI related projects like Web Player and Subscribe Button
MIT License
84 stars 33 forks source link

Podlove UI

Mono Repo for all UI Related Podlove Projects

Getting Started

For Contribution

  1. Make sure you have Node 10+ and lerna installed
  2. Fork this repository
  3. Run npm install to setup the workspace
  4. Run npm scripts for development (e.g. npm run dev:web-player)

For Usage

This mono repo creates a set of different packages within the @podlove NPM organization. Once released you can use each package by simply installing it as a dependency.

Used Libraries and Frameworks

Note: These are recommended and well supported libraries. The usage within each application/package may vary.

Applications

@podlove/player

Core Podlove Player State Bound Components. Building blocks with state bindings to create the web player

@podlove/subscribe-button

Embedded Subscribe Button with client detection:

Packages

@podlove/button-actions

Button actions API, types and events that are used in state and subscribe-button.

@podlove/button-config

Parser for subscribe-button configuration.

@podlove/button-state

Subscribe Button reducers and selectors for creating and maintaining the subscribe-button state.

@podlove/clients

Library containing up to date podcatcher clients and uri schema.

@podlove/components

Shared Representational Podlove Components. Stateless components that dispatch podlove events.

@podlove/player-actions

Player actions API, types and events that are used in state, sagas and player.

@podlove/player-config

Parser for player configuration.

@podlove/player-sagas

Player Side Effects Management, abstracting Player eventing and lifecycle.

@podlove/player-state

Player reducers and selectors for creating and maintaining the player state.

@podlove/utils

Collection of helper utils for dealing with time, transforming chapters according to the Simple Chapters Specification or making requests.

Docs

web-player

Documentation for Podlove Web Player

Build Environment

Used CI: DroneCI with the following pipelines:

Steps:

Releasing

Podlove Web Player follows the git flow convention with support branches. Please read the documentation to follow this pattern if you want to contribute.

To create a release you have to:

  1. Create a release branch from the master or support branch
  2. Run the following lerna command in the release branch: lerna version --no-git-tag-version
  3. Create a PR against master/support branch and merge it if the release/review was successfull
  4. Tag the master/support commit with the release version (e.g. v5.0.2)
  5. Create an integration branch by branching from develop and merge master into the integration branch
  6. Create a PR with develop as the target branch and merge it if the release/review was successfull

Join the conversation

Become a part of the

If you're interested in discussing podcasting topics in general, please visit sendegate.de.

Podlove Docs

Report an issue

If you encounter a specific problem using the Podlove Web Player that you think is a bug, or you see a problem in the documentation, you can report the issue here:
github.com/podlove/ui/issues

Also, if you have ideas for new features for player, please submit them as a Github issue.

Have a look on the Github project to watch the status and progress of your issues:
github.com/podlove/ui/projects

Support

CDN sponsored by

KeyCDN

Cross Browser Testing powered by

Bowserstack Logo