Skip to content
This repository has been archived by the owner on Jan 15, 2022. It is now read-only.

vaites/wordpress-plugin-feed

Repository files navigation

Current release Build status Code coverage License

WordPress Plugin Feed

Example

WordPress developers should be informed of the updates of the plugins that use. Automattic provides feeds that do not give the necessary information:

WordPress Feed Plugin provides detailed feeds for plugin releases, avoiding the need to review the WordPress control panel or visit the profile of each plugin.

Features:

Because this tool parses HTML of different websites, result cannot be 100% accurate and can fail after a change in the code. So issues and pull requests are welcome...

Installation

Just download the release package and place the code on any web server, or clone the repository:

git clone https://github.com/vaites/wordpress-plugin-feed
cd wordpress-plugin-feed
composer update

Remember to run composer update after each update.

Usage

Use GET parameters:

http://your/web/server/wordpress-plugin-feed/index.php?plugin=PLUGIN

Or use the command line interface:

./cli.php generate --plugin=PLUGIN > feed.xml

Replace PLUGIN with plugin name, the same as WordPress uses in plugin URL (like better-wp-security for iThemes Security)

Options

PHP Dotenv, GET or CLI parameters are used to define configuration:

  • Limit: number of releases on output (default 25)
    • GET: limit=10
    • CLI: --limit="10"
    • ENV: OUTPUT_LIMIT="10"
  • Format: atom, rss, json or xml (default atom)
    • GET: format=rss
    • CLI: --format="rss""
    • ENV: OUTPUT_FORMAT="rss"
  • Filter: terms to match against title and content (default none)
    • GET: filter=security
    • CLI: --filter="security""
    • ENV: OUTPUT_FILTER="security"
  • Stability: one o more stability options (any, stable, alpha, beta, rc) separated by commas (default any)
    • GET: stability=stable,rc
    • CLI: --stability="stable,rc"
    • ENV: RELEASE_STABILITY="stable,rc"

There are some options configurable only via GET or CLI: Categories: one o more user defined categories, separated by commas (default none)

  • GET: categories=example.com,mywebsite.com
  • CLI: --categories="example.com,mywebsite.com"

Other options are only configurable with environment variables:

  • CACHE_TTL: cache life in seconds
  • CACHE_DIR: absolute path of cache directory

There's an .env.example file that you can copy to .env.

TO-DO

  • PHAR Package instead of ZIPs
  • Add database persistence
  • Add tags based on contents
  • Enhance search&replace (HTML safe)