Podlove UI
January 3, 2025 ยท View on GitHub
Home of Podlove Web Player, Podlove Subscribe Button and Podlove Lux
Getting Started
For Contribution
- Make sure you have devbox installed
- Fork this repository
- Run
devbox installto setup the workspace - Run
devbox run pnpm installto install the dependencies - Run scripts for development (e.g.
devbox run pnpm start)
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
- Workspace Management: Lerna
- Bundling: Vite
- View Renderer: Vue
- Statemanagement: Redux
- Styling: Tailwind
- Testing: Vitest and Cypress
Note: These are recommended and well supported libraries. The usage within each application/package may vary.
Applications
@podlove/player
Podlove Web Player, including building blocks with state bindings and default templates.
@podlove/page
Podlove Lux, frontend for RSS feeds with a sticky player and powerfull search.
@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
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:
- MErge your changes to a release branch (e.g.
master) - Run
devbox run pnpm run versionto start the release process
- Select a major/minor/patch/custom version (please see semantic versioning documentation)
- Push the release commit and tag to Github
- Wait for the release to be published
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.
Podlove Docs
- Podlove Project: podlove.github.com
- Web Player: docs.podlove.org/podlove-web-player
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