Mono Repo for all UI Related Podlove Projects
- Make sure you have Node 10+ and lerna installed
- Fork this repository
npm installto setup the workspace
- Run npm scripts for development (e.g.
npm run dev:web-player)
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
- Workspace Management: Lerna
- Bundling: Webpack
- View Renderer: Vue
- Statemanagement: Redux
- Helpers: Ramda
- Styling: Tailwind
- Testing: Jest and Cypress
Note: These are recommended and well supported libraries. The usage within each application/package may vary.
Core Podlove Player State Bound Components. Building blocks with state bindings to create the web player
Embedded version of Podlove Player with the following features:
- Configuration Resolving
- Share Endpoint
Embedded Subscribe Button with client detection:
- Podcatcher Services
- Podcatcher Clients
- Install and RSS Feed Endcard
Webpack Tooling for all projects. Building blocks for bundling.
Button actions API, types and events that are used in state and subscribe-button.
Parser for subscribe-button configuration.
Subscribe Button reducers and selectors for creating and maintaining the subscribe-button state.
Library containing up to date podcatcher clients and uri schema.
Shared Representational Podlove Components. Stateless components that dispatch podlove events.
Player actions API, types and events that are used in state, sagas and player.
Parser for player configuration.
Player Side Effects Management, abstracting Player eventing and lifecycle.
Player reducers and selectors for creating and maintaining the player state.
Collection of helper utils for dealing with time, transforming chapters according to the Simple Chapters Specification or making requests.
Documentation for Podlove Web Player
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:
- Create a release branch from the
- Run the following lerna command in the release branch:
lerna version --no-git-tag-version
- Select a major/minor/patch/custom version (please see semantic versioning documentation)
- Create a PR against master/support branch and merge it if the release/review was successfull
- Tag the master/support commit with the release version (e.g.
- Create an integration branch by branching from develop and merge master into the integration branch
- 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
- Podlove community community.podlove.org, or discuss your
- Web Player topics or questions on community.podlove.org/c/podlove-web-player.
If you're interested in discussing podcasting topics in general, please visit sendegate.de.
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:
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: