Scripts, Local Files and Post-Processing
Warning
These standard-plugin features are intended for advanced users. A normal feed subscription only needs the URL source type.
The standard plugin can receive feed data from a network URL, a local file or a command. It can then optionally pass that data through a second command before parsing it.
This is useful when a website does not publish a normal feed, when another application already generates one, or when feed data needs a small conversion step.
Source Types
URL
RSS Guard downloads the address and treats the response as feed data. This is the normal choice for RSS, Atom, JSON Feed and similar sources.
Local File
RSS Guard reads feed data from a file on your computer. Another application or scheduled task can update that file independently.
Script
RSS Guard runs a command and reads its standard output as feed data.
The command should:
write valid feed data to standard output
write diagnostics to standard error
exit with code
0when successful
Commands run in the RSS Guard user-data folder. The %data% placeholder expands to that folder.
Post-Processing
The optional post-processing command receives the original source data through standard input and must write the final feed data to standard output.
For example, the source can be an API response while the post-processing command converts its JSON into JSON Feed.
flowchart LR
source["URL, local file or script"]
post{"Post-processing configured?"}
command["Run post-processing command"]
parser["Parse resulting feed"]
source-->post
post-->|Yes|command
post-->|No|parser
command-->parser
Command Examples
Quoting rules depend on your operating system and command interpreter. Paths and arguments containing spaces normally need quotes.
bash "%data%/scripts/download-feed.sh"
python "%data%/scripts/build-feed.py"
%data%\jq.exe "{ version: \"1.1\", title: \"Stars\", items: . }"
If Fetch metadata fails, check that:
the executable exists
quoting is correct
standard output contains only valid feed data
diagnostics are written to standard error
the command exits successfully
Examples and Tools
RSS Guard includes example scraper scripts. Inspect a script before using it so you understand its inputs and output.
Useful third-party projects include:
Scripts and selectors can break when a website changes. If an existing setup suddenly fails, check the source website or API before changing RSS Guard settings.