podlove / podlove-publisher

Podlove Podcast Publisher for WordPress
https://wordpress.org/plugins/podlove-podcasting-plugin-for-wordpress/
MIT License
299 stars 84 forks source link
composer javascript php plugin podcast podlove wordpress

Podlove Podcast Publisher

This is the podcast publishing plugin for WordPress.

FOSSA Status

Development Setup

PHP dependencies are managed via Composer. So you need to clone the repository and then fetch the dependencies via Composer. JavaScript packages are managed with yarn.

Clone the publisher in the wp-content/plugins directory.

git clone --recursive https://github.com/podlove/podlove-publisher.git
cd podlove-publisher
curl -sS https://getcomposer.org/installer | php
make install

If you have a docker environment handy you can simply run:

make docker-install

Development

Legacy JS Development

  1. Change your working direcetory to js/
  2. Run npm install
  3. Run npm run serve to start the development build
  4. Go to your local Wordpress environment and see your changes

Client Development

  1. Create an Wordpress application password
  2. Update the authorization tokens in= client/index.html
  3. Change your working directory to client/
  4. Run npm install
  5. For isolated development run WORDPRESS_URL=http://podlove.local npm run dev with your Wordpress environment
  6. For integrated development run npm run serve and go to your local Wordpress environment and see your changes

Formatting Code

Use PHP-CS-Fixer to format code before committing.

You can do so manually via command line (make format) or configure your editor to format the file on save. For VS Code, use the "php cs fixer" extension by junstyle.

Releases

Both beta and stable releases are creates with GitHub Actions.

To release a new stable version:

  1. manually update the following fields in readme.txt:
    • Tested up to
    • Stable tag
    • check that changelog has an entry
  2. bash bin/release.sh, which does:
    • updates version in podlove.php
    • creates release commit
    • tags commit
  3. git push

The GitHub action detects the release via the tag, builds it and submits it to the wordpress.org plugin directory.

License

FOSSA Status