mastorss/man/mastorss.1.adoc
tastytea 1627b555ec
All checks were successful
continuous-integration/drone/push Build is passing
Cosmetic fixes in manpage.
2019-12-31 03:03:26 +01:00

192 lines
5.5 KiB
Plaintext

= mastorss(1)
:doctype: manpage
:Author: tastytea
:Email: tastytea@tastytea.de
:Date: 2019-12-31
:Revision: 0.0.0
:man source: mastorss
:man manual: General Commands Manual
== NAME
mastorss - Another RSS to Mastodon bot.
== SYNOPSIS
*mastorss* [--help|--version] <profile>
== DESCRIPTION
*mastorss* reads RSS feeds and posts the items via the Mastodon API. Does not
support Atom at the moment.
== OPTIONS
*--help*::
Show help message.
*--version*::
Show version, copyright and license.
== USAGE
Put `watchwords.json` into `${XDG_CONFIG_HOME}/mastorss/`. Launch with profile
name. The first occurence of every watchword in an RSS item will be turned into
a hashtag. For profile-specific watchwords see the example in
`watchwords.json`. In the first run only the newest entry is posted.
The profile is the identifier for a feed and can't be named "global".
.Launch mastorss with the profile “example”.
================================================================================
[source,shellsession]
--------------------------------------------------------------------------------
% mastorss example
--------------------------------------------------------------------------------
================================================================================
=== Configuration
If the profile does not exist yet, a configuration will be created interactively
and then saved to `${XDG_CONFIG_HOME}/mastorss/config-<profile>.json`.
*access_token*::
The API token needed to communicate with the Mastodon API on the _instance_
you're using to post.
*append*::
This string will be appended to every post.
*feedurl*::
The URI of the source feed.
*fixes*::
Array of regular expressions that should be deleted from the text. For
information about the syntax see *perlre*(1).
*instance*::
Hostname of the instance you're using to post.
*interval*::
Time to wait between posts.
*max_size*::
Maximum number of characters a post can have.
*skip*::
Array of strings with titles of posts that should be skipped. Matched against
the beginning of the title; this means: “Good Day” will match “Good Day in
Happytown” but not “A Good Day in Happytown”.
*titles_as_cw*::
If true, the title will be used as the subject (also known as spoiler warning or
content warning) of the post.
*titles_only*::
If true, only post titles, no descriptions.
== EXAMPLES
=== Configuration file
[source,json]
--------------------------------------------------------------------------------
{
"example" :
{
"access_token" : "123abc",
"append" : "#bot",
"feedurl" : "https://example.com/feed.rss",
"fixes" :
[
"delete this",
"<p>[Rr]ead more(\.{3}|…)</p>"
],
"instance" : "newsbots.eu",
"interval" : 600,
"max_size" : 500,
"skip" :
[
"If the title starts with this, skip it",
"Skip me too!"
],
"titles_as_cw" : true,
"titles_only" : false
}
}
--------------------------------------------------------------------------------
== PROTOCOL SUPPORT
Currently only HTTP and HTTPS are supported.
// == PROXY SERVERS
// Since mastorss is built on libcurl, it respects the same proxy environment
// variables. See *curl*(1), section _ENVIRONMENT_.
// .Tunnel connections through tor.
// ================================================================================
// [source,shell]
// --------------------------------------------------------------------------------
// ALL_PROXY="socks4a://[::1]:9050" mastorss example
// --------------------------------------------------------------------------------
// ================================================================================
== PROXY SERVERS
mastorss supports HTTP proxies set via the environment variable
_http_proxy_. Accepted format: _+++http://[user[:password]@]host[:port]/+++_. No
SOCKS proxy support yet, sorry.
.Use mastorss with a proxy server
================================================================================
[source,shellsession]
--------------------------------------------------------------------------------
% http_proxy="http://localhost:3128/" mastorss example
--------------------------------------------------------------------------------
================================================================================
== FILES
*Configuration file directory*::
`${XDG_CONFIG_HOME}/mastorss/`
`${XDG_CONFIG_HOME}` is usually `~/.config`.
== ERROR CODES
[cols=">,<"]
|===============================================================================
| Code | Explanation
| 1 | No profile specified.
| 2 | Network error.
| 3 | File error.
| 4 | Mastodon API error.
| 5 | JSON error, most likely the file is wrongly formatted.
| 9 | Unknown error.
|===============================================================================
== DEBUGGING
Define the variable `MASTORSS_DEBUG` to enable debug output.
.Debug mastorss while using the profile “example”.
================================================================================
[source,shellsession]
--------------------------------------------------------------------------------
% MASTORSS_DEBUG=1 mastorss example
--------------------------------------------------------------------------------
================================================================================
== REPORTING BUGS
Bugtracker: https://schlomp.space/tastytea/mastorss/issues
E-mail: tastytea@tastytea.de
== SEE ALSO
*perlre*(1), *crontab*(1), *crontab*(5)