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 0 when 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.