about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2021-05-06 09:55:54 -0500
committerCase Duckworth2021-05-06 09:55:54 -0500
commit70b9039c94ba9b7d6e803cfc4fe406ef55c77ca8 (patch)
treea783ecb5669118b71dd5696f908628fa270fc6dd
parentFile stuff ... but in init.el (diff)
downloademacs-70b9039c94ba9b7d6e803cfc4fe406ef55c77ca8.tar.gz
emacs-70b9039c94ba9b7d6e803cfc4fe406ef55c77ca8.zip
Change subscription method to use a file
To set up elsewhere:

1. Delete .emacs.d/var/gnus
2. Start gnus
3. Run gnus/import-feed-list
4. Profit???

I had to also delete all the emails in Emacs-Cloud on IMAP too, so it wasn't
what I'd call perfect.  But ... it's good enough, for now.  I really wish Gnus
was more programmable, tbh.
-rw-r--r--gnus.el62
-rw-r--r--groups.txt78
2 files changed, 95 insertions, 45 deletions
diff --git a/gnus.el b/gnus.el index 2ea42ed..3701c70 100644 --- a/gnus.el +++ b/gnus.el
@@ -140,48 +140,20 @@
140 bbdb-offer-save 1 140 bbdb-offer-save 1
141 bbdb-update-records-p t)) 141 bbdb-update-records-p t))
142 142
143;;; Gnus subscriptions 143;;; Functions
144(setq gnus-options-subscribe (rx (or ;; all alternatives go under this 144;; see https://wpc.io/blog/posts/bulk-import-rss-feeds-to-gnus-via-gwene.html
145 (seq string-start 145(defun gnus/slurp (file)
146 "nnimap+fastmail.com:" 146 "Read FILE into a string."
147 (or ;; folders in Fastmail 147 (with-temp-buffer
148 "INBOX"))) 148 (insert-file-contents file)
149 (seq string-start 149 (buffer-substring-no-properties
150 "nntp+news.tilde.club:" 150 (point-min)
151 (or ;; news groups in tilde.club 151 (point-max))))
152 (seq "local." 152
153 (or "general")) 153(defun gnus/import-feed-list (path)
154 (seq "tilde." 154 "Import list of NNTP feeds from file at PATH."
155 (or "art" 155 (interactive "F")
156 "club" 156 (let ((feeds (split-string (gnus/slurp path) "\n" t)))
157 "cosmic" 157 (cl-loop for feed in feeds
158 "food+drink" 158 do (with-message (format "Subscribing to %s" feed)
159 "gopher" 159 (gnus-subscribe-group feed)))))
160 "meta"
161 "poetry"
162 "services"))))))
163
164(setq gnus-options-not-subscribe (rx (or ;; all alternatives go under this
165 (seq string-start
166 "nnimap+fastmail.com:"
167 (or ;; folders in Fastmail
168 "Archive"
169 "Bulk"
170 "DeltaChat"
171 "Gmail"
172 "Pam"
173 "Spam"
174 "Trash"
175 "blag"
176 "notes"))
177 (seq string-start
178 "nntp+news.tilde.club:"
179 (or ;; news groups in tilde.club
180 (seq "tilde."
181 (or "black"
182 "javascript"
183 "nsfw"
184 "php"
185 "pink"
186 "python"
187 "your")))))))
diff --git a/groups.txt b/groups.txt new file mode 100644 index 0000000..5cee798 --- /dev/null +++ b/groups.txt
@@ -0,0 +1,78 @@
1nnimap+fastmail.com:INBOX
2nntp+news.gwene.org:gwene.blog.botanistinthek
3nntp+news.gwene.org:gwene.ca.muto
4nntp+news.gwene.org:gwene.casa.m455
5nntp+news.gwene.org:gwene.casa.m455.weed.weed
6nntp+news.gwene.org:gwene.codes.esoteric
7nntp+news.gwene.org:gwene.com.aiweirdness
8nntp+news.gwene.org:gwene.com.ajroach42
9nntp+news.gwene.org:gwene.com.careercenterbr
10nntp+news.gwene.org:gwene.com.catandgirl
11nntp+news.gwene.org:gwene.com.deprogrammatic
12nntp+news.gwene.org:gwene.com.drewdevault.blog
13nntp+news.gwene.org:gwene.com.ebrpl.blog
14nntp+news.gwene.org:gwene.com.emacslife.planet
15nntp+news.gwene.org:gwene.com.falseknees
16nntp+news.gwene.org:gwene.com.gerwitz.hans.feeds.writing
17nntp+news.gwene.org:gwene.com.greghendershot
18nntp+news.gwene.org:gwene.com.invisibleup
19nntp+news.gwene.org:gwene.com.lambdacreate.static
20nntp+news.gwene.org:gwene.com.murilopereira
21nntp+news.gwene.org:gwene.com.occasionallyco
22nntp+news.gwene.org:gwene.com.rachelbythebay.w
23nntp+news.gwene.org:gwene.com.realbakingwith.month
24nntp+news.gwene.org:gwene.com.usesthis
25nntp+news.gwene.org:gwene.com.wflewis
26nntp+news.gwene.org:gwene.com.whyarentyoucod
27nntp+news.gwene.org:gwene.com.xkcd
28nntp+news.gwene.org:gwene.dance.hamster.blog
29nntp+news.gwene.org:gwene.de.uninformativ.blog.feeds.en
30nntp+news.gwene.org:gwene.info.benjaminwil.antisocial
31nntp+news.gwene.org:gwene.institute.tilde.xfnw.sandcats
32nntp+news.gwene.org:gwene.io.github.chrisman
33nntp+news.gwene.org:gwene.io.github.wphicks
34nntp+news.gwene.org:gwene.io.jao.blog
35nntp+news.gwene.org:gwene.io.wpc.blog
36nntp+news.gwene.org:gwene.li.eli
37nntp+news.gwene.org:gwene.link.atthis
38nntp+news.gwene.org:gwene.me.tedder.dyn.rss.farside.daily
39nntp+news.gwene.org:gwene.name.spwhitton.blog
40nntp+news.gwene.org:gwene.net.acdw
41nntp+news.gwene.org:gwene.net.acdw.feed.weed
42nntp+news.gwene.org:gwene.net.envs.lucidiot.rsrsss
43nntp+news.gwene.org:gwene.net.neeasade.notes.rss.full
44nntp+news.gwene.org:gwene.net.ryliejamesthom.blog
45nntp+news.gwene.org:gwene.news.tilde.rss.token.fvd.fj8r.qkhr.by9j1y.on1t6rykddc
46nntp+news.gwene.org:gwene.nz.geek.sanctum.blog
47nntp+news.gwene.org:gwene.org.eu.pt.astrosnail.blog
48nntp+news.gwene.org:gwene.org.lisp.planet.rss20
49nntp+news.gwene.org:gwene.org.neocities.society
50nntp+news.gwene.org:gwene.org.neocities.supervegan
51nntp+news.gwene.org:gwene.org.scheme.planet
52nntp+news.gwene.org:gwene.org.z3bra.blog
53nntp+news.gwene.org:gwene.rip.computer
54nntp+news.gwene.org:gwene.space.covering.puzzles
55nntp+news.gwene.org:gwene.space.makeworld
56nntp+news.gwene.org:gwene.space.petras
57nntp+news.gwene.org:gwene.team.tilde.dozens.dreams
58nntp+news.gwene.org:gwene.town.tilde.dozens.rsspect
59nntp+news.gwene.org:gwene.town.tilde.lucidiot.fridaypostcard
60nntp+news.gwene.org:gwene.town.tilde.lucidiot.weed.weed
61nntp+news.gwene.org:gwene.town.tilde.m455.javapool
62nntp+news.gwene.org:gwene.town.tilde.mroik.blog
63nntp+news.gwene.org:gwene.town.tilde.trm.blog
64nntp+news.gwene.org:gwene.uk.co.gaffen
65nntp+news.gwene.org:gwene.uk.me.insom
66nntp+news.gwene.org:gwene.voyage.cosmic
67nntp+news.gwene.org:gwene.website.coolguy.weed.weed
68nntp+news.gwene.org:gwene.xyz.earnestma.blog
69nntp+news.gwene.org:gwene.xyz.jackreid
70nntp+news.tilde.club:local.general
71nntp+news.tilde.club:tilde.art
72nntp+news.tilde.club:tilde.club
73nntp+news.tilde.club:tilde.cosmic
74nntp+news.tilde.club:tilde.food+drink
75nntp+news.tilde.club:tilde.gopher
76nntp+news.tilde.club:tilde.meta
77nntp+news.tilde.club:tilde.poetry
78nntp+news.tilde.club:tilde.services