Simple HTMLโRSS converter. Can be easily integrated with cron, feed readers with external script support or other Ruby applications. Input data is specified with CSS selectors.
To make generating multiple feeds easier, the kirirss-batch.sh
script can be
used. It's in the misc
directory.
chronic
, nokogiri
, and toml-rb
gems need to be installed before using
kirirss.
Sample configuration files can be found in the misc
directory.
Fields prefixed with ๐ถ are required. "Skipped" means not present in the config file or empty. Note that even though some fields are not required, skipping them will produce invalid RSS feeds.
Content of the <title>
feed tag. Page title is used if the field is skipped.
Content of the <description>
feed tag. Empty if the field is skipped.
URL of the page to extract data from. Used in of the <link>
feed as well.
Required.
Root selector of a single input item. "Input item" is a tag which contains all data used in a single feed item. Required.
Additional headers to use when fetching the input page. Can be used for authentication or UA spoofing. Example:
[headers]
Cookie = "session_id=asdf42194"
X-Requested-With = "XMLHttpRequest"
Child tag of each <item>
in the feed with the name (name)
. If this field is
present, the <(name)>
tag will exist in each item. Example tag:
[tag.pubDate]
selector = "time"
attribute = "datetime"
date-format = "auto"
Selector for the current tag contents. Not used if use-root
is true.
Use the tag matched by the root selector.
Attribute of a matched input tag to be used for the current tag contents. When this field is present, content will be extracted from the specified attribute instead of the contents of the tag.
Additional tag attributes. The most common use case:
[tag.guid]
# ...
out-attributes = {isPermaLink = false}
Text used when the input tag is empty or not found.
strptime format of the date in the contents. If a special "auto" value is given, the date is parsed heuristically with chronic. Output tag will contain a RFC 2822-formatted date. Contents will not be date-formatted if this field is skipped.
Make the URL absolute if it's relative.