Quentara / podlove-ui

Monorepo for all UI related projects like Web Player and Subscribe Button

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Podlove UI

Mono Repo for all UI Related Podlove Projects

Build Status

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 orgainzation. 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/web-player

Embedded version of Podlove Player with the following features:

  • Sandbox
  • Persistance
  • Configuration Resolving
  • Share Endpoint
  • Templating

@podlove/subscribe-button

Embedded Subscribe Button with client detection:

  • Podcatcher Services
  • Podcatcher Clients
  • Install and RSS Feed Endcard

Packages

@podlove/build [internal]

Webpack Tooling for all projects. Building blocks for bundling.

@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:

  • apps/player
  • apps/web-player
  • apps/subscribe-button
  • apps/components
  • packages/player-actions
  • packages/player-sagas
  • packages/player-state
  • packages/player-utils
  • packages/clients
  • docs/web-player

Steps:

  • lint
  • test
  • build
  • integration
  • release

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
  1. Create a PR against master/support branch and merge it if the release/review was successfull
  2. Tag the master/support commit with the release version (e.g. v5.0.2)
  3. Create an integration branch by branching from develop and merge master into the integration branch
  4. 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

About

Monorepo for all UI related projects like Web Player and Subscribe Button

License:MIT License


Languages

Language:JavaScript 65.2%Language:Vue 31.4%Language:HTML 2.6%Language:SCSS 0.7%Language:Shell 0.0%