CROSSBOW(1) General Commands Manual (urm) CROSSBOW(1)

crossbow-setTrack a new feed, or update a feed configuration

crossbow set identifier [-hv] [-C directory] [-f format] [-o mode] [-t type] URL

crossbow set [-hv] [-C directory] [-f format] [-i identifier] [-o mode] [-t type] [-u -URL]

The crossbow-set command is part of crossbow(1), the cron(8)-friendly RSS aggregator. It allows to register a new feed to be monitored, or to modify the settings of a previously registered feed.

Every invocation of crossbow-set must refer to one feed, whose unique identifier is provided either as first argument or preceded by the -i flag. All the supplied flags, except for -i, -v and -h, define how crossbow-fetch(1) will retrieve the feed and handle new items when invoked.

If the given identifier does not correspond to an existing feed, a new one is created. It is mandatory in this case to supply a URL, via -u flag or as second argument. If the given identifier corresponds to an existing feed, the feed settings are updated according to the supplied arguments.

directory
Change the working directory when executing sub-commands (relevant in conjunction with -o subproc or -o pipe).
format
Use format as string template while printing new items (-o pretty) or as command template while launching sub-commands (-o subproc or -o pipe). See crossbow-outfmt(5).

: Doing proper shell escaping against untrusted input is really hard, if not impossible. For this reason crossbow(1) never uses a shell to parse sub-commands. It is to directly invoke a shell (or any other intepreter) from within a command template.

Prints the synopsis and exits.
identifier
Select the identifier of the feed which the invocation refers to. This option can be used to unambiguously define an identifier prefixed with a "-" symbol, that would be otherwise mistaken for a flag.
mode
Set the output mode, that is how new feed items should be handled when crossbow-fetch(1) is invoked. Allowed values are:
Print all fields of individual items on stdout(3). This is the default behaviour.
Print new items on stdout(3) using the format string, specified with -o, as template. See crossbow-outfmt(5).
Handle new items by means of a subprocess, using the format string, specified with -o, as template. See crossbow-outfmt(5).
Same as subproc, but with the "description" field made available by means of a pipe(7) to stdin(3). This feature is justified by the fact that the "description" often contains an extended string of text, possibly a whole article in HTML format.
type
By default, crossbow-set will try to guess if the given URL, refers to a local or a remote resource. The nature of it can be explicitly claimed by means of this flag. Allowed values are:
Unless a remote protocol is explicitly specified, prefix the URL with "https://".
Forcefully use the URL as a path for the local filesystem hierarchy, even if it looks like a remote.
URL
Set the local or remote position of the file that crossbow-fetch(1) will fetch for updates. The URL can refer to a path of a file on the filesystem, or to a remote resource. Currently the HTTP, HTTPS and Gopher protocols are supported.
Increase verbosity

See crossbow-cookbook(7) for a collection of short recipes.

crossbow(1), crossbow-del(1), crossbow-fetch(1), crossbow-query(1), crossbow-outfmt(5), crossbow-cookbook(7)

Giovanni Simoni <dacav@fastmail.com>

July 1, 2020