Files
comitium/doc/comitium.1.scd
T

165 lines
4.7 KiB
Markdown

comitium(1)
# NAME
comitium - A feed aggregator for Gemini.
# SYNOPSIS
*comitium* <_COMMAND_> [_FLAGS_] [_ARGUMENTS_]
# DESCRIPTION
*comitium* is tool to subscribe to feeds on the Gemini protocol. It supports a
variety of feed formats:
- Gemini Feeds (https://gemini.circumlunar.space/docs/companion/subscription.gmi)
- Atom
- RSS
- JSON
- Watching pages for changes
# COMMANDS
*refresh* [_FLAGS_]
Check for new updates to subscriptions and update aggregator page.
*regenerate*
Will regenerate all the files created by comitium using cached entries
without fetching any feeds.
*add* [_FLAGS_] <_LINK_> [_TITLE_]
Add a new subscription. _LINK_ is a link to the feed or watched URL.
_TITLE_ is an optional title for the feed, otherwise a title will be
automatically picked depending on the feed type. For Gemini feeds, the
first heading on a page is used as a title. For ATOM, RSS, and JSON feeds,
the provided title is used. For a page being watched for changes, the URL
itself is used.
Also to note: when adding a new subscription, you *do not* need to run
*refresh* afterwards, *add* will automatically fetch the entries and
regenerate the .gmi and .json files.
*remove* [_FLAGS_] <_LINK_>
Remove a subscription at _LINK_. Will remove from both subscribed feeds and
subscribed pages by default.
*help*
Print basic usage information, including a list of commands and flags with
abbreviated descriptions.
*version*
Print version information.
# FLAGS
Global flags are recognized for all commands. The subsections are for
command-specific flags that are not universally recognized.
## GLOBAL FLAGS
*-d* _PATH_, *--data* _PATH_
Set the data directory where comitium will store its files. See *FILES AND
DIRECTORIES* for more information.
## REFRESH FLAGS
*-n* _NUM_, *--num-workers* _NUM_
Number of worker threads to use when refreshing feeds. More is faster, but
there are more concurrent outgoing requests then, which can be not nice to
the servers you're hitting and to other people on your network. Defaults to
5.
## ADD FLAGS
*-w*, *--watch*
Watch a page for changes instead of adding as a feed. Useful for gophermaps,
or gemini/http resources with no parseable feed.
## REMOVE FLAGS
*-f*, *--feeds*
Remove the URL from subscribed feeds.
*-p*, *--pages*
Remove the URL from subscribed pages.
# ENVIRONMENT VARIABLES
*COMITIUM_DATA*
Set the data directory. Equivalent to the *--data* flag.
# FILES AND DIRECTORIES
## DATA DIRECTORY
All files used by comitium are stored in the data directory. The data path is
picked from the first available criterion in this list:
. If provided, the *-d*/*--data* flag
. If set, the $*COMITIUM_DATA* environment variable.
. If $*XDG_DATA_HOME* is set, then _$XDG_DATA_HOME/comitium_
. If $*HOME* is set and _$HOME/.local_ exists, then
_$HOME/.local/share/comitium_
. If $*HOME* is set, then _$HOME/.comitium_
. Otherwise, the current working directory is used as a last resort
## FILES
Within the data directory, the following files are used:
*comitium.json*
A json file listing all of the feeds, their titles, their subscription
type, and subscription-type-specific information. If you need to modify a
subscription (change its title, update a link, etc) it should be trivial to
manually edit.
*feed.gmi*
The outputted text/gemini file containing the subscription items. Is what
should be linked or copied to your server directory to publish it.
*subscriptions.gmi*
A text/gemini list of all the feeds being aggregated, suitable for remote
bookmarking, etc. Should also be linked or copied to your server directory.
# EXAMPLES
This will add a new feed subscripton:
```
comitium add gemini://nytpu.com/gemlog/
```
This will add a new subscription over http:
```
comitium add https://www.nytpu.com/files/atom.xml
```
This will add a new subscription to watch for changes:
```
comitium add --watch gemini://nytpu.com/photos/by-date.gmi "nytpu's photos"
```
Note that when watching a page for changes, you should manually add a title,
otherwise the URL will be used.
This will update all feeds and regenerate *subscriptions.gmi* if you use a
custom data directory:
```
comitium refresh -d ~/comitium-test
```
This also makes it possible to maintain multiple subscription "groups," for
instance if you want to separate different topics into their own feeds.
# SEE ALSO
For more information, see the README at <https://git.nytpu.com/comitium/about/>
or in your local copy of the repository.
For a tutorial, see the quickstart at
<https://git.nytpu.com/comitium/tree/doc/quickstart.md> or in *docs/* in your
local repository.
# AUTHOR
Maintained by nytpu <alex@nytpu.com>.
Source can be found at <https://git.nytpu.com/comitium>. Bugs & patches can
be sent to ~nytpu/public-inbox@lists.sr.ht.