Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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

Installable Plugin ZIP

Run make zip to create a production build packaged for installation through the WordPress plugin uploader. The ZIP is written to .build/ and contains the WordPress plugin slug as its top-level directory.

Testing

Integration tests use the official WordPress PHPUnit setup via wp-env with a dedicated isolated config.

Prerequisites:

  • Docker is running
  • Node.js + npm
  • PHP + Composer

First-time setup:

composer install
composer bin php-scoper install
composer bin php-cs-fixer install
composer prefix-dependencies
npm install
npm run wp-env:test:start

Local Development with wp-env

You can use wp-env to run a local WordPress instance with the plugin mounted from this repo.

Start the environment:

npm install
npm run wp-env:start

Open:

Useful commands:

npm run wp-env:stop
npx wp-env destroy
npx wp-env run cli -- wp option get siteurl

Run integration tests:

npm run wp-env:test:start
npm run test

Start the dedicated test environment:

npm run wp-env:test:start

Open:

Useful test commands:

npm run wp-env:test:stop
npm run wp-env:test:destroy
npm run wp-env:test:logs

If wp-env run fails with a missing docker-compose file, the environment was not created yet or was cleaned up. Recreate the relevant environment with:

npx wp-env destroy
npm run wp-env:start

For the test environment use:

npm run wp-env:test:destroy
npm run wp-env:test:start

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
  1. bash bin/release.sh, which does:
  • updates version in podlove.php
  • creates release commit
  • tags commit
  1. 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

Local translations

Setting the site language does not install a language pack for a development checkout named podlove-publisher. To test the official German translations, install the pack using the WordPress.org plugin slug:

npm run wp-env -- run cli wp language plugin install podlove-podcasting-plugin-for-wordpress de_DE

The pack contains both PHP translations and the JSON catalogue for client/dist/client.js. WordPress loads these using the site's language (or the administrator's profile language). No client rebuild is needed when installing or updating a language pack.

关于 About

Podlove Podcast Publisher for WordPress
composerjavascriptphppluginpodcastpodlovewordpress

语言 Languages

PHP62.8%
JavaScript18.3%
Vue9.6%
TypeScript6.1%
CSS1.6%
Twig0.9%
Shell0.5%
Makefile0.1%
HTML0.1%
Ruby0.0%
Dockerfile0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
195
Total Commits
峰值: 40次/周
Less
More

核心贡献者 Contributors