summaryrefslogtreecommitdiff
path: root/README.md
blob: 7f8678e91295dc2cc447700d4188ea64d0fd7cf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# comitium

comitium is a [Gemini][] feed aggregator that supports Atom, RSS, JSON, and
[Gemini feeds][], as well as tracking page changes.  Inspired by [gmisub][],
[Lagrange’s built-in feeds][lagrange], [gemreader][] and many others.


*Comitium* means “gathering” or “assembly” in latin.


[Gemini]: https://gemini.circumlunar.space/docs/faq.gmi
[Gemini feeds]: https://gemini.circumlunar.space/docs/companion/subscription.gmi
[lagrange]: https://github.com/skyjake/lagrange/blob/dev/res/about/help.gmi#L184-L197
[gmisub]: https://git.sr.ht/~callum/gmisub
[gemreader]: https://sr.ht/~sircmpwn/gemreader/


## usage

See `comitium help` for basic usage.  For more advanced usage, see
[comitium(1)][comitium.1] and the [quickstart page][quickstart].


[comitium.1]: doc/comitium.1.scd
[quickstart]: doc/quickstart.md


## why another aggregator?

There's many gemini aggregators out there, and yet not one does everything I
want it to.  I want an aggregator that:

1. works with gemini (and possibly gopher)
2. supports atom (and possibly rss & json)
3. supports gemini feeds
4. can watch for page changes (and possibly watch for new gemtext headers as
	 well)
5. doesn't tie me to a specific browser/service; i.e. trivially self-hostable,
	 ideally as cgi or static pages that can use an existing server setup.

All of the aggregators always have really cool features (that I may or may not
even use) and yet all (that I've found) don't meet one or more of these
criterion.  Hence, going and writing my own.


## building

Dependencies:

* go (module-aware)
* [scdoc][]

Then do the standard:

```
$ make
# make install
```

A note to packagers (yes, I'm ambitious aren't I?): make sure to build with
`make COMMIT=tarball`, otherwise there will be an issue when building in a
non–git-repo.


[scdoc]: https://git.sr.ht/~sircmpwn/scdoc


## contributing

Send patches and issue reports to
[~nytpu/public-inbox@lists.sr.ht][mailto:~nytpu/public-inbox@lists.sr.ht]


## license

`comitium` is Copyright © 2021 nytpu.

`comitium` is licensed under the terms of the GNU Affero General Public
License, either version 3 of the License, or (at your option) any later
version.  For more information, see [LICENSE][] or the [GNU website][agpl-3]

`comitium` uses the [go-gemini][], [gofeed][], and [go-homedir][] libraries,
all of which are covered under the terms of the MIT License].  It also uses the
[pflag][] library, which is licensed terms of the BSD 3-Clause License.


[LICENSE]: LICENSE
[agpl-3]: https://www.gnu.org/licenses/agpl-3.0-standalone.html
[go-gemini]: https://git.sr.ht/~adnano/go-gemini
[gofeed]: https://github.com/mmcdole/gofeed
[go-homedir]: https://github.com/mitchellh/go-homedir
[pflag]: https://github.com/spf13/pflag