diff options
Diffstat (limited to 'sfeedrc')
-rw-r--r-- | sfeedrc | 695 |
1 files changed, 348 insertions, 347 deletions
diff --git a/sfeedrc b/sfeedrc index d3d2490..de2d41c 100644 --- a/sfeedrc +++ b/sfeedrc | |||
@@ -8,411 +8,412 @@ maxjobs="$(nproc)" | |||
8 | ### Feeds ####################################################### | 8 | ### Feeds ####################################################### |
9 | 9 | ||
10 | feeds() { | 10 | feeds() { |
11 | ## feed NAME FEED_URL BASE_URL ENCODING # defined by sfeedrc(5). | 11 | ## feed NAME FEED_URL BASE_URL ENCODING # defined by sfeedrc(5). |
12 | # I want to add some extra fields after these. | 12 | # I want to add some extra fields after these. |
13 | feeds_planets | 13 | feeds_planets |
14 | feeds_youtube | 14 | feeds_youtube |
15 | feeds_podcasts | 15 | feeds_podcasts |
16 | feeds_friends | 16 | feeds_friends |
17 | feeds_people | 17 | feeds_people |
18 | feeds_news | 18 | feeds_news |
19 | feeds_smolweb | 19 | feeds_smolweb |
20 | feeds_comics | 20 | feeds_comics |
21 | feeds_misc | 21 | feeds_misc |
22 | feeds_me | 22 | feeds_me |
23 | feeds_from_agafnd | 23 | feeds_from_agafnd |
24 | feeds_from_elioat | 24 | feeds_from_elioat |
25 | } | 25 | } |
26 | 26 | ||
27 | feeds_planets() { | 27 | feeds_planets() { |
28 | feedx "Planet Emacs" "https://planet.emacslife.com/atom.xml" "https://planet.emacslife.com/" "" | 28 | feedx "Planet Emacs" "https://planet.emacslife.com/atom.xml" "https://planet.emacslife.com/" "" |
29 | feedx "Planet Lisp" "https://planet.lisp.org/rss20.xml" "https://planet.lisp.org/" "" | 29 | feedx "Planet Lisp" "https://planet.lisp.org/rss20.xml" "https://planet.lisp.org/" "" |
30 | feedx "Planet Scheme" "https://planet.scheme.org/atom.xml" "https://planet.scheme.org/" "" | 30 | feedx "Planet Scheme" "https://planet.scheme.org/atom.xml" "https://planet.scheme.org/" "" |
31 | } | 31 | } |
32 | 32 | ||
33 | feeds_podcasts() { | 33 | feeds_podcasts() { |
34 | feedx "Tilde Whirl Tildeverse Podcast" "https://tilde.town/~dozens/podcast/rss.xml" "https://tilde.town/~dozens/podcast/" "" | 34 | feedx "Tilde Whirl Tildeverse Podcast" "https://tilde.town/~dozens/podcast/rss.xml" "https://tilde.town/~dozens/podcast/" "" |
35 | feedx "trash cat tech cat" "https://podcast.librepunk.club/tctc/ogg.xml" "https://podcast.librepunk.club/tctc/" "" | 35 | feedx "trash cat tech cat" "https://podcast.librepunk.club/tctc/ogg.xml" "https://podcast.librepunk.club/tctc/" "" |
36 | feedx "Hacker Public Radio" "https://hackerpublicradio.org/hpr_ogg_rss.php" "https://hackerpublicradio.org/" "" | 36 | feedx "Hacker Public Radio" "https://hackerpublicradio.org/hpr_ogg_rss.php" "https://hackerpublicradio.org/" "" |
37 | feedx "Levar Burton Reads" "https://feeds.simplecast.com/LDNgBXht" | 37 | feedx "Levar Burton Reads" "https://feeds.simplecast.com/LDNgBXht" |
38 | feedx "A Problem Squared" "https://feeds.libsyn.com/230510/rss" | 38 | feedx "A Problem Squared" "https://feeds.libsyn.com/230510/rss" |
39 | feedx "Lowtech Radio Gazeete" "https://lambdacreate.com/static/ltrg/feed.xml" "https://lambdacreate.com/podcast/ltrg" | 39 | feedx "Lowtech Radio Gazeete" "https://lambdacreate.com/static/ltrg/feed.xml" "https://lambdacreate.com/podcast/ltrg" |
40 | yt_feed "iilluminaughtii" "UCpDmn2FfVYdPIDwRTcf5-OA" | 40 | yt_feed "iilluminaughtii" "UCpDmn2FfVYdPIDwRTcf5-OA" |
41 | feedx "Maintenance Phase" "https://feeds.buzzsprout.com/1411126.rss" "https://www.maintenancephase.com/" | 41 | feedx "Maintenance Phase" "https://feeds.buzzsprout.com/1411126.rss" "https://www.maintenancephase.com/" |
42 | feedx "Switched on Pop" "https://feeds.megaphone.fm/switchedonpop" "https://switchedonpop.com/" | 42 | feedx "Switched on Pop" "https://feeds.megaphone.fm/switchedonpop" "https://switchedonpop.com/" |
43 | feedx "You Are Good" "https://feeds.blubrry.com/feeds/whyaredads.xml" "" | 43 | feedx "You Are Good" "https://feeds.blubrry.com/feeds/whyaredads.xml" "" |
44 | } | 44 | } |
45 | 45 | ||
46 | feeds_youtube() { | 46 | feeds_youtube() { |
47 | yt_feed "NPR Music" "UC4eYXhJI4-7wSWc8UNRwD4A" | 47 | yt_feed "NPR Music" "UC4eYXhJI4-7wSWc8UNRwD4A" |
48 | yt_feed "3Blue1Brown" "UCYO_jab_esuFRV4b17AJtAw" | 48 | yt_feed "3Blue1Brown" "UCYO_jab_esuFRV4b17AJtAw" |
49 | yt_feed "AB - Ancienne Belgique" "UCUVAw2kdxJlcfCdEcdgXv5A" | 49 | yt_feed "AB - Ancienne Belgique" "UCUVAw2kdxJlcfCdEcdgXv5A" |
50 | yt_feed "Adam Ragusea" "UC9_p50tH3WmMslWRWKnM7dQ" | 50 | yt_feed "Adam Ragusea" "UC9_p50tH3WmMslWRWKnM7dQ" |
51 | yt_feed "Babish Culinary Universe" "UCJHA_jMfCvEnv-3kRjTCQXw" | 51 | yt_feed "Babish Culinary Universe" "UCJHA_jMfCvEnv-3kRjTCQXw" |
52 | yt_feed "Baggers" "UCMV8p6Lb-bd6UZtTc_QD4zA" | 52 | yt_feed "Baggers" "UCMV8p6Lb-bd6UZtTc_QD4zA" |
53 | yt_feed "Case Duckworth" "UC92gRJdnUYklVu4pvj9n0Lw" | 53 | yt_feed "Case Duckworth" "UC92gRJdnUYklVu4pvj9n0Lw" |
54 | yt_feed "Claire Saffitz x Dessert Person" "UCvw6Y1kr_8bp6B5m1dqNyiw" | 54 | yt_feed "Claire Saffitz x Dessert Person" "UCvw6Y1kr_8bp6B5m1dqNyiw" |
55 | yt_feed "Computerphile" "UC9-y-6csu5WGm29I7JiwpnA" | 55 | yt_feed "Computerphile" "UC9-y-6csu5WGm29I7JiwpnA" |
56 | yt_feed "EBRPL Career Center" "UCIvntuaxP7PyaJDeHE_9E8Q" | 56 | yt_feed "EBRPL Career Center" "UCIvntuaxP7PyaJDeHE_9E8Q" |
57 | yt_feed "EmacsConf and Emacs hangouts" "UCwuyodzTl_KdEKNuJmeo99A" | 57 | yt_feed "EmacsConf and Emacs hangouts" "UCwuyodzTl_KdEKNuJmeo99A" |
58 | yt_feed "Henry Homesweet" "UCZqjwc1Wy5t1rsviYYsJiYg" | 58 | yt_feed "Henry Homesweet" "UCZqjwc1Wy5t1rsviYYsJiYg" |
59 | yt_feed "Howard Abrams" "UCVHICXXtKG7rZgtC5xonNdQ" | 59 | yt_feed "Howard Abrams" "UCVHICXXtKG7rZgtC5xonNdQ" |
60 | yt_feed "Ignite Talks" "UCZotK8ZPTUNLMeW5Q6T0cKg" | 60 | yt_feed "Ignite Talks" "UCZotK8ZPTUNLMeW5Q6T0cKg" |
61 | yt_feed "Jake B" "UCBMMB7Yi0eyFuY95Qn2o0Yg" | 61 | yt_feed "Jake B" "UCBMMB7Yi0eyFuY95Qn2o0Yg" |
62 | yt_feed "James Tomasino" "UCbTp1BYjpuhDRG5OmgIT8iw" | 62 | yt_feed "James Tomasino" "UCbTp1BYjpuhDRG5OmgIT8iw" |
63 | yt_feed "jan Misali" "UCJOh5FKisc0hUlEeWFBlD-w" | 63 | yt_feed "jan Misali" "UCJOh5FKisc0hUlEeWFBlD-w" |
64 | yt_feed "J Duckworth Animations" "UCtAEaNVrNxAUy2VSRPD_PYQ" | 64 | yt_feed "J Duckworth Animations" "UCtAEaNVrNxAUy2VSRPD_PYQ" |
65 | yt_feed "John Kitchin" "UCQp2VLAOlvq142YN3JO3y8w" | 65 | yt_feed "John Kitchin" "UCQp2VLAOlvq142YN3JO3y8w" |
66 | yt_feed "karthik" "UCbh_g91w0T6OYp40xFrtnhA" | 66 | yt_feed "karthik" "UCbh_g91w0T6OYp40xFrtnhA" |
67 | yt_feed "Ken Forkish" "UCvVvFZd0e86bLbd5FdgYiUg" | 67 | yt_feed "Ken Forkish" "UCvVvFZd0e86bLbd5FdgYiUg" |
68 | yt_feed "LockPickingLawyer" "UCm9K6rby98W8JigLoZOh6FQ" | 68 | yt_feed "LockPickingLawyer" "UCm9K6rby98W8JigLoZOh6FQ" |
69 | yt_feed "Maangchi" "UC8gFadPgK2r1ndqLI04Xvvw" | 69 | yt_feed "Maangchi" "UC8gFadPgK2r1ndqLI04Xvvw" |
70 | yt_feed "Mike Zamansky" "UCxkMDXQ5qzYOgXPRnOBrp1w" | 70 | yt_feed "Mike Zamansky" "UCxkMDXQ5qzYOgXPRnOBrp1w" |
71 | yt_feed "MIT OpenCourseWare" "UCEBb1b_L6zDS3xTUrIALZOw" | 71 | yt_feed "MIT OpenCourseWare" "UCEBb1b_L6zDS3xTUrIALZOw" |
72 | yt_feed "My Analog Journal" "UC8TZwtZ17WKFJSmwTZQpBTA" | 72 | yt_feed "My Analog Journal" "UC8TZwtZ17WKFJSmwTZQpBTA" |
73 | yt_feed "Nat's What I Reckon" "UCEFW1E8QzP-hKxjO2Rj68wg" | 73 | yt_feed "Nat's What I Reckon" "UCEFW1E8QzP-hKxjO2Rj68wg" |
74 | yt_feed "Now You See It" "UCWTFGPpNQ0Ms6afXhaWDiRw" | 74 | yt_feed "Now You See It" "UCWTFGPpNQ0Ms6afXhaWDiRw" |
75 | yt_feed "Numberphile" "UCoxcjq-8xIDTYp3uz647V5A" | 75 | yt_feed "Numberphile" "UCoxcjq-8xIDTYp3uz647V5A" |
76 | yt_feed "Philosophy Tube" "UC2PA-AKmVpU6NKCGtZq_rKQ" | 76 | yt_feed "Philosophy Tube" "UC2PA-AKmVpU6NKCGtZq_rKQ" |
77 | yt_feed "PronunciationManual" "UCqDSLtXeZsGc3dtVb5MW13g" | 77 | yt_feed "PronunciationManual" "UCqDSLtXeZsGc3dtVb5MW13g" |
78 | yt_feed "Protesilaos Stavrou" "UC0uTPqBCFIpZxlz_Lv1tk_g" | 78 | yt_feed "Protesilaos Stavrou" "UC0uTPqBCFIpZxlz_Lv1tk_g" |
79 | yt_feed "RailCowGirl" "UCj-Xm8j6WBgKY8OG7s9r2vQ" | 79 | yt_feed "RailCowGirl" "UCj-Xm8j6WBgKY8OG7s9r2vQ" |
80 | yt_feed "Simone Giertz" "UC3KEoMzNz8eYnwBC34RaKCQ" | 80 | yt_feed "Simone Giertz" "UC3KEoMzNz8eYnwBC34RaKCQ" |
81 | yt_feed "Steve Yegge" "UC2RCcnTltR3HMQOYVqwmweA" | 81 | yt_feed "Steve Yegge" "UC2RCcnTltR3HMQOYVqwmweA" |
82 | yt_feed "System Crafters" "UCAiiOTio8Yu69c3XnR7nQBQ" | 82 | yt_feed "System Crafters" "UCAiiOTio8Yu69c3XnR7nQBQ" |
83 | yt_feed "Tasting History with Max Miller" "UCsaGKqPZnGp_7N80hcHySGQ" | 83 | yt_feed "Tasting History with Max Miller" "UCsaGKqPZnGp_7N80hcHySGQ" |
84 | yt_feed "Technology Connections" "UCy0tKL1T7wFoYcxCe0xjN6Q" | 84 | yt_feed "Technology Connections" "UCy0tKL1T7wFoYcxCe0xjN6Q" |
85 | yt_feed "Too Many Zooz" "UCtjXVqMVzBIgU0SO8AV0vPg" | 85 | yt_feed "Too Many Zooz" "UCtjXVqMVzBIgU0SO8AV0vPg" |
86 | yt_feed "Townsends" "UCxr2d4As312LulcajAkKJYw" | 86 | yt_feed "Townsends" "UCxr2d4As312LulcajAkKJYw" |
87 | yt_feed "Unitarian Church of Baton Rouge" "UClrqHvbiFM-1hn931ZmAPFw" | 87 | yt_feed "Unitarian Church of Baton Rouge" "UClrqHvbiFM-1hn931ZmAPFw" |
88 | yt_feed "Vulf" "UCtWuB1D_E3mcyYThA9iKggQ" | 88 | yt_feed "Vulf" "UCtWuB1D_E3mcyYThA9iKggQ" |
89 | yt_feed "WFTDA: Women's Flat Track Derby Association" "UC7eMWpvytqd3gYAqxTl9w7g" | 89 | yt_feed "WFTDA: Women's Flat Track Derby Association" "UC7eMWpvytqd3gYAqxTl9w7g" |
90 | yt_feed "Zach Anner" "UCPTVYxUoYWhNa8J7GzIGnyQ" | 90 | yt_feed "Zach Anner" "UCPTVYxUoYWhNa8J7GzIGnyQ" |
91 | yt_feed "Andrew Tropin" "UCuj_loxODrOPxSsXDfJmpng" | 91 | yt_feed "Andrew Tropin" "UCuj_loxODrOPxSsXDfJmpng" |
92 | yt_feed "Animist" "UCweDxCT5Fiykk3uHqPKqLWg" | 92 | yt_feed "Animist" "UCweDxCT5Fiykk3uHqPKqLWg" |
93 | yt_feed "Chris Were Digital" "UCAPR27YUyxmgwm3Wc2WSHLw" | 93 | yt_feed "Chris Were Digital" "UCAPR27YUyxmgwm3Wc2WSHLw" |
94 | yt_feed "Esoterica" "UCoydhtfFSk1fZXNRnkGnneQ" | 94 | yt_feed "Esoterica" "UCoydhtfFSk1fZXNRnkGnneQ" |
95 | yt_feed "FOSDEM" "UC9NuJImUbaSNKiwF2bdSfAw" | 95 | yt_feed "FOSDEM" "UC9NuJImUbaSNKiwF2bdSfAw" |
96 | } | 96 | } |
97 | 97 | ||
98 | feeds_from_agafnd() { | 98 | feeds_from_agafnd() { |
99 | # https://tilde.town/~agafnd/good-rss.html | 99 | # https://tilde.town/~agafnd/good-rss.html |
100 | yt_feed "bill wurtz" "UCq6aw03lNILzV96UvEAASfQ" | 100 | yt_feed "bill wurtz" "UCq6aw03lNILzV96UvEAASfQ" |
101 | yt_feed "Atomic Shrimp" "UCSl5Uxu2LyaoAoMMGp6oTJA" | 101 | yt_feed "Atomic Shrimp" "UCSl5Uxu2LyaoAoMMGp6oTJA" |
102 | yt_feed "brian david gilbert" "UCakAg8hC_RFJm4RI3DlD7SA" | 102 | yt_feed "brian david gilbert" "UCakAg8hC_RFJm4RI3DlD7SA" |
103 | yt_feed "Jonni Phillips" "UC1NbRaGNot6kNEL3Jsa7SRA" | 103 | yt_feed "Jonni Phillips" "UC1NbRaGNot6kNEL3Jsa7SRA" |
104 | # podcasts | 104 | # podcasts |
105 | feedx "Lingthusiasm" "https://feeds.soundcloud.com/users/soundcloud:users:237055046/sounds.rss" "https://lingthusiasm.com/" | 105 | feedx "Lingthusiasm" "https://feeds.soundcloud.com/users/soundcloud:users:237055046/sounds.rss" "https://lingthusiasm.com/" |
106 | # other stuff | 106 | # other stuff |
107 | feedx "Buttersafe" "https://feeds.feedburner.com/buttersafe" "https://www.buttersafe.com/" | 107 | feedx "Buttersafe" "https://feeds.feedburner.com/buttersafe" "https://www.buttersafe.com/" |
108 | feedx "Going Medieval" "https://going-medieval.com/feed/" | 108 | feedx "Going Medieval" "https://going-medieval.com/feed/" |
109 | feedx "Scooby Doo Mistakes" "https://scoobydoomistakes.tumblr.com/rss" "https://scoobydoomistakes.tumblr.com/" | 109 | feedx "Scooby Doo Mistakes" "https://scoobydoomistakes.tumblr.com/rss" "https://scoobydoomistakes.tumblr.com/" |
110 | } | 110 | } |
111 | 111 | ||
112 | feeds_from_elioat() { | 112 | feeds_from_elioat() { |
113 | # feed <name> <feedurl> [basesiteurl] [encoding] | 113 | # feed <name> <feedurl> [basesiteurl] [encoding] |
114 | feedx "antoine.studio" "https://antoine.studio/rss.xml" | 114 | feedx "antoine.studio" "https://antoine.studio/rss.xml" |
115 | feedx "apenwarr" "https://apenwarr.ca/log/rss.php" | 115 | feedx "apenwarr" "https://apenwarr.ca/log/rss.php" |
116 | feedx "bert.org" "https://bert.org/feed.xml" | 116 | feedx "bert.org" "https://bert.org/feed.xml" |
117 | feedx "Ben Hoyt's technical writing" "https://benhoyt.com/writings/rss.xml" | 117 | feedx "Ben Hoyt's technical writing" "https://benhoyt.com/writings/rss.xml" |
118 | feedx "Buried Treasure" "https://buried-treasure.org/feed/" | 118 | feedx "Buried Treasure" "https://buried-treasure.org/feed/" |
119 | 119 | ||
120 | feedx "catapult" "https://catapult.co/rss" | 120 | feedx "catapult" "https://catapult.co/rss" |
121 | feedx "codex99" "http://codex99.com" | 121 | feedx "codex99" "http://codex99.com" |
122 | feedx "compudanzas log" "https://compudanzas.net/atom.xml" | 122 | feedx "compudanzas log" "https://compudanzas.net/atom.xml" |
123 | feedx "DustyCloud Brainstorms" "http://dustycloud.org/blog/index.xml" | 123 | feedx "DustyCloud Brainstorms" "http://dustycloud.org/blog/index.xml" |
124 | feedx "Earthly" "https://earthly.dev/blog/feed.xml" | 124 | feedx "Earthly" "https://earthly.dev/blog/feed.xml" |
125 | feedx "Ella Hoeppner" "https://www.ellahoeppner.com/blog.rss" | 125 | feedx "Ella Hoeppner" "https://www.ellahoeppner.com/blog.rss" |
126 | feedx "Esoteric Codes" "https://esoteric.codes/rss" | 126 | feedx "Esoteric Codes" "https://esoteric.codes/rss" |
127 | feedx "Grimgrains" "https://grimgrains.com/links/rss.xml" | 127 | feedx "Grimgrains" "https://grimgrains.com/links/rss.xml" |
128 | feedx "hisaac.net" "https://hisaac.net/feed.xml" | 128 | feedx "hisaac.net" "https://hisaac.net/feed.xml" |
129 | feedx "Hundred Rabbits" "http://100r.co/links/rss.xml" | 129 | feedx "Hundred Rabbits" "http://100r.co/links/rss.xml" |
130 | feedx "Hypercritical" "https://hypercritical.co/feeds/main" | 130 | feedx "Hypercritical" "https://hypercritical.co/feeds/main" |
131 | feedx "joshua stein" "https://jcs.org/rss" | 131 | feedx "joshua stein" "https://jcs.org/rss" |
132 | feedx "journal.stuffwithstuff.com" "http://journal.stuffwithstuff.com/rss.xml" | 132 | feedx "journal.stuffwithstuff.com" "http://journal.stuffwithstuff.com/rss.xml" |
133 | feedx "Julia Evans" "https://jvns.ca/atom.xml" | 133 | feedx "Julia Evans" "https://jvns.ca/atom.xml" |
134 | feedx "Kicks Condor [RSS]" "https://www.kickscondor.com/rss.xml" | 134 | feedx "Kicks Condor [RSS]" "https://www.kickscondor.com/rss.xml" |
135 | feedx "kottke.org" "http://feeds.kottke.org/main" | 135 | feedx "kottke.org" "http://feeds.kottke.org/main" |
136 | feedx "literary monster" "https://literary.monster/index.xml" | 136 | feedx "literary monster" "https://literary.monster/index.xml" |
137 | feedx "Linus Lee" "https://thesephist.com/index.xml" | 137 | feedx "Linus Lee" "https://thesephist.com/index.xml" |
138 | feedx "Meg Conley" "https://www.megconley.com/rss/" | 138 | feedx "Meg Conley" "https://www.megconley.com/rss/" |
139 | feedx "minimalist baker" "https://minimalistbaker.com/feed/" | 139 | feedx "minimalist baker" "https://minimalistbaker.com/feed/" |
140 | feedx "llimllib notes" "https://notes.billmill.org/atom.xml" | 140 | feedx "llimllib notes" "https://notes.billmill.org/atom.xml" |
141 | feedx "petermolnar.net" "https://petermolnar.net/feed/" | 141 | feedx "petermolnar.net" "https://petermolnar.net/feed/" |
142 | feedx "Piper Haywood" "https://piperhaywood.com/feed/" | 142 | feedx "Piper Haywood" "https://piperhaywood.com/feed/" |
143 | feedx "Rainbow Plant Life" "https://rainbowplantlife.com/feed/" | 143 | feedx "Rainbow Plant Life" "https://rainbowplantlife.com/feed/" |
144 | feedx "Robin Rendle" "https://robinrendle.com/feed.xml" | 144 | feedx "Robin Rendle" "https://robinrendle.com/feed.xml" |
145 | feedx "sogrady" "https://sogrady.org/feed/" | 145 | feedx "sogrady" "https://sogrady.org/feed/" |
146 | feedx "Sibylla Bostoniensis" "https://siderea.dreamwidth.org/data/rss" | 146 | feedx "Sibylla Bostoniensis" "https://siderea.dreamwidth.org/data/rss" |
147 | feedx "The only good system is a sound system" "https://ftrv.se/posts.atom" | 147 | feedx "The only good system is a sound system" "https://ftrv.se/posts.atom" |
148 | feedx "weaver.skepti.ch" "https://weaver.skepti.ch/atom.xml" | 148 | feedx "weaver.skepti.ch" "https://weaver.skepti.ch/atom.xml" |
149 | feedx "whippet" "https://thewhippet.org/archive/rss/" | 149 | feedx "whippet" "https://thewhippet.org/archive/rss/" |
150 | feedx "zep [Lexaloffle Blog Feed]" "https://www.lexaloffle.com/bbs/feed.php?uid=1" | 150 | feedx "zep [Lexaloffle Blog Feed]" "https://www.lexaloffle.com/bbs/feed.php?uid=1" |
151 | } | 151 | } |
152 | 152 | ||
153 | feeds_dozens() { | 153 | feeds_dozens() { |
154 | feedx "Dozens and Dragons" "https://dozensanddragons.neocities.org/rss.xml" "https://dozensanddragons.neocities.org/" "" | 154 | feedx "Dozens and Dragons" "https://dozensanddragons.neocities.org/rss.xml" "https://dozensanddragons.neocities.org/" "" |
155 | feedx "dozens: Society For Putting Things On Top Of Other Things" "https://society.neocities.org/rss.xml" "https://society.neocities.org/" "" | 155 | feedx "dozens: Society For Putting Things On Top Of Other Things" "https://society.neocities.org/rss.xml" "https://society.neocities.org/" "" |
156 | feedx "dozens: vgnfdblg" "https://supervegan.neocities.org/feed.xml" "https://supervegan.neocities.org/" "" | 156 | feedx "dozens: vgnfdblg" "https://supervegan.neocities.org/feed.xml" "https://supervegan.neocities.org/" "" |
157 | feedx "dozens: backgammon" "http://tilde.town/~dozens/backgammon/rss.xml" "http://tilde.town/~dozens/backgammon/" "" | 157 | feedx "dozens: backgammon" "http://tilde.town/~dozens/backgammon/rss.xml" "http://tilde.town/~dozens/backgammon/" "" |
158 | feedx "dozens: It's Pro Toad and Superb Owl" "https://git.tilde.town/dozens/protoadandsuperbowl/raw/branch/master/feed.xml" "https://git.tilde.town/dozens/protoadandsuperbowl/" "" | 158 | feedx "dozens: It's Pro Toad and Superb Owl" "https://git.tilde.town/dozens/protoadandsuperbowl/raw/branch/master/feed.xml" "https://git.tilde.town/dozens/protoadandsuperbowl/" "" |
159 | feedx "dozens dreams" "https://tilde.team/~dozens/dreams/rss.xml" "https://tilde.team/~dozens/dreams/" "" | 159 | feedx "dozens dreams" "https://tilde.team/~dozens/dreams/rss.xml" "https://tilde.team/~dozens/dreams/" "" |
160 | feedx "dozens: write.as" "https://write.tildeverse.org/dozens/feed/" "https://write.tildeverse.org/dozens/" "" | 160 | feedx "dozens: write.as" "https://write.tildeverse.org/dozens/feed/" "https://write.tildeverse.org/dozens/" "" |
161 | feedx "dozens css art" "http://tilde.town/~dozens/cssart/feed.xml" "http://tilde.town/~dozens/cssart/" "" | 161 | feedx "dozens css art" "http://tilde.town/~dozens/cssart/feed.xml" "http://tilde.town/~dozens/cssart/" "" |
162 | feedx "Cleric+Thief: episodes" "https://blog.miso.town/atom?url=http://tilde.town/~dozens/clericthief/" "https://tilde.town/~dozens/clericthief/index.html" | 162 | feedx "Cleric+Thief: episodes" "https://blog.miso.town/atom?url=http://tilde.town/~dozens/clericthief/" "https://tilde.town/~dozens/clericthief/index.html" |
163 | feedx "Cleric+Thief: journal" "https://journal.miso.town/atom?url=http://tilde.town/~dozens/clericthief/journal.html" "https://tilde.town/~dozens/clericthief/journal.html" | 163 | feedx "Cleric+Thief: journal" "https://journal.miso.town/atom?url=http://tilde.town/~dozens/clericthief/journal.html" "https://tilde.town/~dozens/clericthief/journal.html" |
164 | } | 164 | } |
165 | 165 | ||
166 | feeds_friends() { | 166 | feeds_friends() { |
167 | feedx "kindrobot" "https://tilde.town/~kindrobot/index.xml" | 167 | feedx "kindrobot" "https://tilde.town/~kindrobot/index.xml" |
168 | feedx "citrons" "https://citrons.xyz/a/journal/rss.xml" "https://citrons.xyz/" | 168 | feedx "citrons" "https://citrons.xyz/a/journal/rss.xml" "https://citrons.xyz/" |
169 | feedx "elly.town" "https://elly.town/feed.xml" "https://elly.town/" | 169 | feedx "elly.town" "https://elly.town/feed.xml" "https://elly.town/" |
170 | feeds_dozens | 170 | feeds_dozens |
171 | feedx "kirch" "https://jkirchartz.com/feed.xml" "https://jkirchartz.com/" | 171 | feedx "kirch" "https://jkirchartz.com/feed.xml" "https://jkirchartz.com/" |
172 | feedx "lipu pi jan Niko" "https://tilde.town/~nihilazo/index.xml" "https://tilde.town/~nihilazo/" "" | 172 | feedx "lipu pi jan Niko" "https://tilde.town/~nihilazo/index.xml" "https://tilde.town/~nihilazo/" "" |
173 | feedx "chrismanbrown.gitlab.io (dozens)" "https://chrismanbrown.gitlab.io/rss.xml" "https://chrismanbrown.gitlab.io/" "" | 173 | feedx "chrismanbrown.gitlab.io (dozens)" "https://chrismanbrown.gitlab.io/rss.xml" "https://chrismanbrown.gitlab.io/" "" |
174 | feedx "Benjamin Wil" "https://benjaminwil.info/feed.xml" "https://benjaminwil.info/" "" | 174 | feedx "Benjamin Wil" "https://benjaminwil.info/feed.xml" "https://benjaminwil.info/" "" |
175 | feedx "(lambda (x) (create x))" "http://lambdacreate.com/static/feed.rss" "http://lambdacreate.com/" "" | 175 | feedx "(lambda (x) (create x))" "http://lambdacreate.com/static/feed.rss" "http://lambdacreate.com/" "" |
176 | feedx "m455.casa" "https://m455.casa/feed.rss" "https://m455.casa/" "" | 176 | feedx "m455.casa" "https://m455.casa/feed.rss" "https://m455.casa/" "" |
177 | feedx "Oatmeal" "https://eli.li/feed.rss" "https://eli.li/" "" | 177 | feedx "Oatmeal" "https://eli.li/feed.rss" "https://eli.li/" "" |
178 | feedx "RSRSSS" "https://envs.net/~lucidiot/rsrsss/feed.xml" "https://envs.net/~lucidiot/rsrsss/" "" | 178 | feedx "RSRSSS" "https://envs.net/~lucidiot/rsrsss/feed.xml" "https://envs.net/~lucidiot/rsrsss/" "" |
179 | feedx "Tomasino Blog" "https://blog.tomasino.org/index.xml" "https://blog.tomasino.org/" "" | 179 | feedx "Tomasino Blog" "https://blog.tomasino.org/index.xml" "https://blog.tomasino.org/" "" |
180 | feedx "Tomasino Labs" "https://labs.tomasino.org/index.xml" "https://labs.tomasino.org/" "" | 180 | feedx "Tomasino Labs" "https://labs.tomasino.org/index.xml" "https://labs.tomasino.org/" "" |
181 | feedx "Will's Blog" "https://wflewis.com/feed.xml" "https://wflewis.com/" "" | 181 | feedx "Will's Blog" "https://wflewis.com/feed.xml" "https://wflewis.com/" "" |
182 | feedx "William Vaughn" "https://willvaughn.org/index.xml" "https://willvaughn.org/" | 182 | feedx "William Vaughn" "https://willvaughn.org/index.xml" "https://willvaughn.org/" |
183 | feedx "Rick Carlino's Blog" "https://rickcarlino.com/rss/feed.rss" "https://rickcarlino.com/rss/" "" | 183 | feedx "Rick Carlino's Blog" "https://rickcarlino.com/rss/feed.rss" "https://rickcarlino.com/rss/" "" |
184 | feedx "Causal Agency" "https://text.causal.agency/feed.atom" "https://text.causal.agency/" "" | 184 | feedx "Causal Agency" "https://text.causal.agency/feed.atom" "https://text.causal.agency/" "" |
185 | feedx "Benoit Joly" "https://blog.benoitj.ca/posts/index.xml" "https://blog.benoitj.ca/posts/" "" | 185 | feedx "Benoit Joly" "https://blog.benoitj.ca/posts/index.xml" "https://blog.benoitj.ca/posts/" "" |
186 | feedx "linkbudz" "https://linkbudz.m455.casa/feed.rss" "https://linkbudz.m455.casa/" "" | 186 | feedx "linkbudz" "https://linkbudz.m455.casa/feed.rss" "https://linkbudz.m455.casa/" "" |
187 | feedx "Alex Schroeder" "https://alexschroeder.ch/wiki/feed/full/" "https://alexschroeder.ch/" "" | 187 | feedx "Alex Schroeder" "https://alexschroeder.ch/wiki/feed/full/" "https://alexschroeder.ch/" "" |
188 | feedx "Björn Wärmedal" "https://warmedal.se/~bjorn/atom.xml" "https://warmedal.se/~bjorn/" "" | 188 | feedx "Björn Wärmedal" "https://warmedal.se/~bjorn/atom.xml" "https://warmedal.se/~bjorn/" "" |
189 | feedx "a rickety bridge of impossible crossing" "https://bluelander.bearblog.dev/feed/" "https://bluelander.bearblog.dev/" "" | 189 | feedx "a rickety bridge of impossible crossing" "https://bluelander.bearblog.dev/feed/" "https://bluelander.bearblog.dev/" "" |
190 | feedx "javapool updates" "https://tilde.town/~m455/javapool.rss" "" "" | 190 | feedx "javapool updates" "https://tilde.town/~m455/javapool.rss" "" "" |
191 | feedx "coolguy.website" "https://coolguy.website/rss/index.xml" "https://coolguy.website/" | 191 | feedx "coolguy.website" "https://coolguy.website/rss/index.xml" "https://coolguy.website/" |
192 | feedx "brainshit" "https://brainshit.fr/rss" "https://brainshit.fr" | 192 | feedx "brainshit" "https://brainshit.fr/rss" "https://brainshit.fr" |
193 | feedx 'Idiomdrottning' 'https://idiomdrottning.org/blog' "https://idiomdrottning.org" | 193 | feedx 'Idiomdrottning' 'https://idiomdrottning.org/blog' "https://idiomdrottning.org" |
194 | feedx "Rick Carlino's Blog" "https://rickcarlino.com/rss/feed.rss" | 194 | feedx "Rick Carlino's Blog" "https://rickcarlino.com/rss/feed.rss" |
195 | feedx "Rick Carlino's Recent News Feed" "https://news.rickcarlino.com/rss.rss" | 195 | feedx "Rick Carlino's Recent News Feed" "https://news.rickcarlino.com/rss.rss" |
196 | } | 196 | } |
197 | 197 | ||
198 | feeds_people() { | 198 | feeds_people() { |
199 | feedx "Andrew's Blog" "https://sheep.horse/rss.xml" | 199 | feedx "Maggie Appleton" "https://maggieappleton.com/rss.xml" |
200 | feedx "Christian Tietze" "https://christiantietze.de/feed.atom" | 200 | feedx "Andrew's Blog" "https://sheep.horse/rss.xml" |
201 | feedx "Tony Zorman" "https://tony-zorman.com/atom.xml" | 201 | feedx "Christian Tietze" "https://christiantietze.de/feed.atom" |
202 | feedx "Neon Pajamas" "https://www.neonpajamas.com/blog?format=rss" | 202 | feedx "Tony Zorman" "https://tony-zorman.com/atom.xml" |
203 | feedx "garethrees" "https://garethrees.org/index_rss.xml" | 203 | feedx "Neon Pajamas" "https://www.neonpajamas.com/blog?format=rss" |
204 | feedx "ASCII Artist" "https://asciiartist.com/feed/" "https://asciiartist.com/" | 204 | feedx "garethrees" "https://garethrees.org/index_rss.xml" |
205 | feedx "Lonnie Johnson" "http://lonniejohnson.com/feed/" "http://lonniejohnson.com/" | 205 | feedx "ASCII Artist" "https://asciiartist.com/feed/" "https://asciiartist.com/" |
206 | feedx "Tab Completion" "https://xanthir.com/blog/atom/" "https://xanthir.com/blog/" | 206 | feedx "Lonnie Johnson" "http://lonniejohnson.com/feed/" "http://lonniejohnson.com/" |
207 | feedx "zserge" "https://zserge.com/rss.xml" "https://zserge.com/" | 207 | feedx "Tab Completion" "https://xanthir.com/blog/atom/" "https://xanthir.com/blog/" |
208 | feedx "nerdypepper's μblog" "https://peppe.rs/index.xml" "https://peppe.rs/" | 208 | feedx "zserge" "https://zserge.com/rss.xml" "https://zserge.com/" |
209 | feedx "unix sheikh" "https://unixsheikh.com/feed.rss" "https://unixsheikh.com/" | 209 | feedx "nerdypepper's μblog" "https://peppe.rs/index.xml" "https://peppe.rs/" |
210 | feedx "artemis.sh" "https://artemis.sh/feed.xml" "https://artemis.sh/" | 210 | feedx "unix sheikh" "https://unixsheikh.com/feed.rss" "https://unixsheikh.com/" |
211 | feedx "ajroach" "http://ajroach42.com/feed.xml" "http://ajroach42.com/" "" | 211 | feedx "artemis.sh" "https://artemis.sh/feed.xml" "https://artemis.sh/" |
212 | feedx "rachelbythebay" "https://rachelbythebay.com/w/atom.xml" "https://rachelbythebay.com/" "" | 212 | feedx "ajroach" "http://ajroach42.com/feed.xml" "http://ajroach42.com/" "" |
213 | feedx "Codemadness" "https://codemadness.org/atom.xml" | 213 | feedx "rachelbythebay" "https://rachelbythebay.com/w/atom.xml" "https://rachelbythebay.com/" "" |
214 | feedx "Ben Hoyt's technical writing" "https://benhoyt.com/writings/rss.xml" "https://benhoyt.com/writings/" | 214 | feedx "Codemadness" "https://codemadness.org/atom.xml" |
215 | feedx "Tom Van Winkle's Return to Gaming" "https://lichvanwinkle.blogspot.com/feeds/posts/default" "https://lichvanwinkle.blogspot.com/" | 215 | feedx "Ben Hoyt's technical writing" "https://benhoyt.com/writings/rss.xml" "https://benhoyt.com/writings/" |
216 | feedx "Chris Wellons" "https://nullprogram.com/feed/" "https://nullprogram.com/" | 216 | feedx "Tom Van Winkle's Return to Gaming" "https://lichvanwinkle.blogspot.com/feeds/posts/default" "https://lichvanwinkle.blogspot.com/" |
217 | feedx "maya.land" "https://maya.land/feed.xml" "https://maya.land/" | 217 | feedx "Chris Wellons" "https://nullprogram.com/feed/" "https://nullprogram.com/" |
218 | feedx "Steve Losh" "https://stevelosh.com/rss.xml" "https://stevelosh.com/" | 218 | feedx "maya.land" "https://maya.land/feed.xml" "https://maya.land/" |
219 | feedx "Atomized (Ian Eure)" "http://atomized.org/rss.xml" "http://atomized.org/" | 219 | feedx "Steve Losh" "https://stevelosh.com/rss.xml" "https://stevelosh.com/" |
220 | feedx "Atomized (Ian Eure)" "http://atomized.org/rss.xml" "http://atomized.org/" | ||
220 | } | 221 | } |
221 | 222 | ||
222 | feeds_writers_webring() { | 223 | feeds_writers_webring() { |
223 | # since heroku's free tier is going away, I'm subscribing to these from | 224 | # since heroku's free tier is going away, I'm subscribing to these from |
224 | # ring.acdw.net. | 225 | # ring.acdw.net. |
225 | feedx "Daily Scream" "https://scream.today/daily/feed/" "https://scream.today/daily/" | 226 | feedx "Daily Scream" "https://scream.today/daily/feed/" "https://scream.today/daily/" |
226 | feedx "ajes" "https://write.as/ajes/feed/" "https://write.as/ajes/" | 227 | feedx "ajes" "https://write.as/ajes/feed/" "https://write.as/ajes/" |
227 | feedx "Alex R Oliver" "http://alexoliver.beecroftbooks.com/feed/" "http://alexoliver.beecroftbooks.com/" | 228 | feedx "Alex R Oliver" "http://alexoliver.beecroftbooks.com/feed/" "http://alexoliver.beecroftbooks.com/" |
228 | feedx "Synchronicity & Metaverse" "https://jmmsynch.blogspot.com/feeds/posts/default" "https://jmmsynch.blogspot.com/" | 229 | feedx "Synchronicity & Metaverse" "https://jmmsynch.blogspot.com/feeds/posts/default" "https://jmmsynch.blogspot.com/" |
229 | feedx "GLOWING SURF" "https://www.glowing.surf/feed/" "https://www.glowing.surf/" | 230 | feedx "GLOWING SURF" "https://www.glowing.surf/feed/" "https://www.glowing.surf/" |
230 | feedx "Duth Olec's Cuckoo Cosmos" "https://cloudycuckoocosmos.com/feed/" "https://cloudycuckoocosmos.com/" | 231 | feedx "Duth Olec's Cuckoo Cosmos" "https://cloudycuckoocosmos.com/feed/" "https://cloudycuckoocosmos.com/" |
231 | } | 232 | } |
232 | 233 | ||
233 | feeds_news() { | 234 | feeds_news() { |
234 | feedx "n-gate" "http://n-gate.com/index.rss" "http://n-gate.com/" | 235 | feedx "n-gate" "http://n-gate.com/index.rss" "http://n-gate.com/" |
235 | feedx "Tedium" "https://feed.tedium.co/" "https://tedium.co/" | 236 | feedx "Tedium" "https://feed.tedium.co/" "https://tedium.co/" |
236 | feedx "lobste.rs" "https://lobste.rs/rss" "https://lobste.rs/" "" | 237 | feedx "lobste.rs" "https://lobste.rs/rss" "https://lobste.rs/" "" |
237 | feedx "Hacker News" "https://news.ycombinator.com/rss" "https://news.ycombinator.com/" "" | 238 | feedx "Hacker News" "https://news.ycombinator.com/rss" "https://news.ycombinator.com/" "" |
238 | feedx "tilde news" "https://tilde.news/rss" "https://tilde.news/" "" | 239 | feedx "tilde news" "https://tilde.news/rss" "https://tilde.news/" "" |
239 | feedx "Tildes Atom feed" "https://tildes.net/topics.atom" "https://tildes.net/" "" | 240 | feedx "Tildes Atom feed" "https://tildes.net/topics.atom" "https://tildes.net/" "" |
240 | feedx "NPR" "https://feeds.npr.org/1001/rss.xml" "https://text.npr.org/" "" | 241 | feedx "NPR" "https://feeds.npr.org/1001/rss.xml" "https://text.npr.org/" "" |
241 | feeds_local | 242 | feeds_local |
242 | } | 243 | } |
243 | 244 | ||
244 | feeds_local() { | 245 | feeds_local() { |
245 | feedx "Louisiana Considered" "https://omny.fm/shows/louisiana-considered/playlists/podcast.rss" "https://www.wrkf.org/show/louisiana-considered" | 246 | feedx "Louisiana Considered" "https://omny.fm/shows/louisiana-considered/playlists/podcast.rss" "https://www.wrkf.org/show/louisiana-considered" |
246 | } | 247 | } |
247 | 248 | ||
248 | feeds_smolweb() { | 249 | feeds_smolweb() { |
249 | feedx "tilde.town blog" "https://tilde.town/blog.xml" "https://tilde.town/" | 250 | feedx "tilde.town blog" "https://tilde.town/blog.xml" "https://tilde.town/" |
250 | feedx "~town friday postcard" "https://tilde.town/~lucidiot/fridaypostcard.xml" "" | 251 | feedx "~town friday postcard" "https://tilde.town/~lucidiot/fridaypostcard.xml" "" |
251 | feedx "Cosmic Voyage" "https://cosmic.voyage/rss.xml" "https://cosmic.voyage/" "" | 252 | feedx "Cosmic Voyage" "https://cosmic.voyage/rss.xml" "https://cosmic.voyage/" "" |
252 | feedx "plan.cat" "https://plan.cat/rss" "https://plan.cat/" "" | 253 | feedx "plan.cat" "https://plan.cat/rss" "https://plan.cat/" "" |
253 | feedx "The Plain Text Project" "https://plaintextproject.online/feed.xml" "https://plaintextproject.online/" | 254 | feedx "The Plain Text Project" "https://plaintextproject.online/feed.xml" "https://plaintextproject.online/" |
254 | } | 255 | } |
255 | 256 | ||
256 | feeds_comics() { | 257 | feeds_comics() { |
257 | feedx "Gideon & Bartholomew" "https://www.iamhoneydill.com/gideon-bartholomew?format=rss" "https://www.iamhoneydill.com/gideon-bartholomew/" | 258 | feedx "Gideon & Bartholomew" "https://www.iamhoneydill.com/gideon-bartholomew?format=rss" "https://www.iamhoneydill.com/gideon-bartholomew/" |
258 | feedx "webcomic name" "https://webcomicname.com/rss" "https://webcomicname.com/" | 259 | feedx "webcomic name" "https://webcomicname.com/rss" "https://webcomicname.com/" |
259 | feedx "Sarah's Scribbles" "https://sarahcandersen.com/rss" "https://sarahcandersen.com/" | 260 | feedx "Sarah's Scribbles" "https://sarahcandersen.com/rss" "https://sarahcandersen.com/" |
260 | feedx "Foxes in Love" "https://foxes-in-love.tumblr.com/rss" "https://foxes-in-love.tumblr.com/" | 261 | feedx "Foxes in Love" "https://foxes-in-love.tumblr.com/rss" "https://foxes-in-love.tumblr.com/" |
261 | feedx "Elder Cactus" "https://www.eldercactus.com/rss.xml" "https://www.eldercactus.com/" | 262 | feedx "Elder Cactus" "https://www.eldercactus.com/rss.xml" "https://www.eldercactus.com/" |
262 | feedx "COOELST CAT COMCIX" "https://coolmxmuffin.tumblr.com/rss" "https://coolmxmuffin.tumblr.com/" | 263 | feedx "COOELST CAT COMCIX" "https://coolmxmuffin.tumblr.com/rss" "https://coolmxmuffin.tumblr.com/" |
263 | feedx "Cat and Girl" "https://catandgirl.com/feed/" "https://catandgirl.com/" "" | 264 | feedx "Cat and Girl" "https://catandgirl.com/feed/" "https://catandgirl.com/" "" |
264 | feedx "Dinosaur Comics!" "https://qwantz.com/rssfeed.php" "https://qwantz.com/" "" | 265 | feedx "Dinosaur Comics!" "https://qwantz.com/rssfeed.php" "https://qwantz.com/" "" |
265 | feedx "False Knees" "https://falseknees.tumblr.com/rss" "https://falseknees.tumblr.com/" "" | 266 | feedx "False Knees" "https://falseknees.tumblr.com/rss" "https://falseknees.tumblr.com/" "" |
266 | feedx "Saturday Morning Breakfast Cereal" "https://www.smbc-comics.com/comic/rss" "https://www.smbc-comics.com/" "" | 267 | feedx "Saturday Morning Breakfast Cereal" "https://www.smbc-comics.com/comic/rss" "https://www.smbc-comics.com/" "" |
267 | feedx "xkcd" "https://xkcd.com/atom.xml" "https://xkcd.com/" "" | 268 | feedx "xkcd" "https://xkcd.com/atom.xml" "https://xkcd.com/" "" |
268 | feedx "Miniature Calendar" "https://miniature-calendar.com/feed/" "https://miniature-calendar.com/" | 269 | feedx "Miniature Calendar" "https://miniature-calendar.com/feed/" "https://miniature-calendar.com/" |
269 | } | 270 | } |
270 | 271 | ||
271 | feeds_misc() { | 272 | feeds_misc() { |
272 | feedx "Street Art Utopia" "https://streetartutopia.com/feed/" "https://streetartutopia.com/" | 273 | feedx "Street Art Utopia" "https://streetartutopia.com/feed/" "https://streetartutopia.com/" |
273 | feedx "APOD" "https://apod.nasa.gov/apod.rss" "https://apod.nasa.gov/" | 274 | feedx "APOD" "https://apod.nasa.gov/apod.rss" "https://apod.nasa.gov/" |
274 | feedx "MetaFilter" "https://feeds.feedburner.com/Metafilter" "https://www.metafilter.com/" | 275 | feedx "MetaFilter" "https://feeds.feedburner.com/Metafilter" "https://www.metafilter.com/" |
275 | feedx "Word of the Day" "https://www.merriam-webster.com/wotd/feed/rss2" "https://www.merriam-webster.com/word-of-the-day/" | 276 | feedx "Word of the Day" "https://www.merriam-webster.com/wotd/feed/rss2" "https://www.merriam-webster.com/word-of-the-day/" |
276 | feedx "Crystalverse" "https://crystalverse.com/feed/" "https://crystalverse.com/" "" | 277 | feedx "Crystalverse" "https://crystalverse.com/feed/" "https://crystalverse.com/" "" |
277 | feedx "Hetzner" "https://status.hetzner.com/en.atom" "https://status.hetzner.com/" "" | 278 | feedx "Hetzner" "https://status.hetzner.com/en.atom" "https://status.hetzner.com/" "" |
278 | feedx "LOW-TECH MAGAZINE" "https://feeds2.feedburner.com/typepad/krisdedecker/lowtechmagazineenglish" "https://www.lowtechmagazine.com/" "" | 279 | feedx "LOW-TECH MAGAZINE" "https://feeds2.feedburner.com/typepad/krisdedecker/lowtechmagazineenglish" "https://www.lowtechmagazine.com/" "" |
279 | feedx "500-mile email" "https://500mile.email/feed.xml" "https://500mile.email/" | 280 | feedx "500-mile email" "https://500mile.email/feed.xml" "https://500mile.email/" |
280 | feedx "computers are bad" "https://computer.rip/rss.xml" "https://computer.rip/" | 281 | feedx "computers are bad" "https://computer.rip/rss.xml" "https://computer.rip/" |
281 | feedx "Eggs Unlimited (5)" "https://eggs.call-cc.org/rss-5.xml" | 282 | feedx "Eggs Unlimited (5)" "https://eggs.call-cc.org/rss-5.xml" |
282 | } | 283 | } |
283 | 284 | ||
284 | feeds_sotw() { | 285 | feeds_sotw() { |
285 | feedx "noa" "http://noa.gaiwan.org/sotw/feed.xml" "http://noa.gaiwan.org/" | 286 | feedx "noa" "http://noa.gaiwan.org/sotw/feed.xml" "http://noa.gaiwan.org/" |
286 | feedx "agafnd" "https://tilde.town/~agafnd/sotw/sotw.xml" "https://tilde.town/~agafnd/sotw/" | 287 | feedx "agafnd" "https://tilde.town/~agafnd/sotw/sotw.xml" "https://tilde.town/~agafnd/sotw/" |
287 | } | 288 | } |
288 | 289 | ||
289 | feeds_me() { | 290 | feeds_me() { |
290 | feedx "active listening" "https://junk.acdw.net/active_listening/feed.xml" "https://junk.acdw.net/active_listening/" | 291 | feedx "active listening" "https://junk.acdw.net/active_listening/feed.xml" "https://junk.acdw.net/active_listening/" |
291 | feedx "acdw.casa" "https://acdw.casa/feed.xml" | 292 | feedx "acdw.casa" "https://acdw.casa/feed.xml" |
292 | } | 293 | } |
293 | 294 | ||
294 | ### Feed helpers ################################################ | 295 | ### Feed helpers ################################################ |
295 | 296 | ||
296 | feedx() { # feedx [OPTIONS] FEED_ARGS... | 297 | feedx() { # feedx [OPTIONS] FEED_ARGS... |
297 | ## Wrapper around `feed' to allow for more metadata | 298 | ## Wrapper around `feed' to allow for more metadata |
298 | while getopts t: opt; do | 299 | while getopts t: opt; do |
299 | case "$opt" in | 300 | case "$opt" in |
300 | t) tags="$OPTARG" ;; # tags should be a comma-separated list | 301 | t) tags="$OPTARG" ;; # tags should be a comma-separated list |
301 | *) ;; | 302 | *) ;; |
302 | esac | 303 | esac |
303 | done | 304 | done |
304 | shift $((OPTIND - 1)) | 305 | shift $((OPTIND - 1)) |
305 | # `feed' (well, really `_feed') expects only 4 arguments, so we can pass | 306 | # `feed' (well, really `_feed') expects only 4 arguments, so we can pass |
306 | # more after that. | 307 | # more after that. |
307 | feed "$1" "$2" "$3" "$4" \ | 308 | feed "$1" "$2" "$3" "$4" \ |
308 | "$tags" | 309 | "$tags" |
309 | } | 310 | } |
310 | 311 | ||
311 | yt_feed() { # yt_feed TITLE CHANNEL_ID | 312 | yt_feed() { # yt_feed TITLE CHANNEL_ID |
312 | feedx -t yt "$1 [yt]" \ | 313 | feedx -t yt "$1 [yt]" \ |
313 | "https://www.youtube.com/feeds/videos.xml?channel_id=$2" \ | 314 | "https://www.youtube.com/feeds/videos.xml?channel_id=$2" \ |
314 | "https://youtube.com/channel/$2" | 315 | "https://youtube.com/channel/$2" |
315 | } | 316 | } |
316 | 317 | ||
317 | ### Remove feeds ################################################ | 318 | ### Remove feeds ################################################ |
318 | 319 | ||
319 | unsubscribe_feeds() { | 320 | unsubscribe_feeds() { |
320 | feedx "r/emacs" "https://i.reddit.com/r/emacs.rss" "https://i.reddit.com/r/emacs" "" | 321 | feedx "r/emacs" "https://i.reddit.com/r/emacs.rss" "https://i.reddit.com/r/emacs" "" |
321 | yt_feed "Joshua Weissman" "UChBEbMKI1eCcejTtmI32UEw" | 322 | yt_feed "Joshua Weissman" "UChBEbMKI1eCcejTtmI32UEw" |
322 | yt_feed "Gavin Freeborn" "UCJetJ7nDNLlEzDLXv7KIo0w" | 323 | yt_feed "Gavin Freeborn" "UCJetJ7nDNLlEzDLXv7KIo0w" |
323 | yt_feed "Lex Fridman" "UCSHZKyawb77ixDdsGog4iWA" | 324 | yt_feed "Lex Fridman" "UCSHZKyawb77ixDdsGog4iWA" |
324 | feedx "r/Worldnews" "https://www.reddit.com/r/worldnews/.rss" | 325 | feedx "r/Worldnews" "https://www.reddit.com/r/worldnews/.rss" |
325 | feedx "Web3 is going just great" "https://web3isgoinggreat.com/feed.xml" "https://web3isgoinggreat.com/" | 326 | feedx "Web3 is going just great" "https://web3isgoinggreat.com/feed.xml" "https://web3isgoinggreat.com/" |
326 | feedx "uxn" "https://git.sr.ht/~rabbits/uxn/log/main/rss.xml" | 327 | feedx "uxn" "https://git.sr.ht/~rabbits/uxn/log/main/rss.xml" |
327 | feedx "uxnfth" "https://git.sr.ht/~binarycat/uxnfth/log/front/rss.xml" | 328 | feedx "uxnfth" "https://git.sr.ht/~binarycat/uxnfth/log/front/rss.xml" |
328 | feedx "worgle" "https://git.sr.ht/~pbatch/worgle/log/master/rss.xml" | 329 | feedx "worgle" "https://git.sr.ht/~pbatch/worgle/log/master/rss.xml" |
329 | yt_feed "Jelle's Marble Runs" "UCYJdpnjuSWVOLgGT9fIzL0g" | 330 | yt_feed "Jelle's Marble Runs" "UCYJdpnjuSWVOLgGT9fIzL0g" |
330 | yt_feed "LOOK MUM NO COMPUTER" "UCafxR2HWJRmMfSdyZXvZMTw" | 331 | yt_feed "LOOK MUM NO COMPUTER" "UCafxR2HWJRmMfSdyZXvZMTw" |
331 | yt_feed "Ska Tune Network" "UCji2l5wcs6GoYJY1GgG_slQ" | 332 | yt_feed "Ska Tune Network" "UCji2l5wcs6GoYJY1GgG_slQ" |
332 | yt_feed "Thought Slime" "UCrr7y8rEXb7_RiVniwvzk9w" | 333 | yt_feed "Thought Slime" "UCrr7y8rEXb7_RiVniwvzk9w" |
333 | yt_feed "STRANGE ÆONS" "UCrq3JYirgV-BLluzTF6X_7A" | 334 | yt_feed "STRANGE ÆONS" "UCrq3JYirgV-BLluzTF6X_7A" |
334 | yt_feed "NileRed" "UCFhXFikryT4aFcLkLw2LBLA" | 335 | yt_feed "NileRed" "UCFhXFikryT4aFcLkLw2LBLA" |
335 | yt_feed "Cathode Ray Dude" "UCXnNibvR_YIdyPs8PZIBoEw" | 336 | yt_feed "Cathode Ray Dude" "UCXnNibvR_YIdyPs8PZIBoEw" |
336 | feedx "Kill James Bond!" "https://feed.podbean.com/killjamesbondpod/feed.xml" | 337 | feedx "Kill James Bond!" "https://feed.podbean.com/killjamesbondpod/feed.xml" |
337 | feedx "Jo's Boys" "https://anchor.fm/s/840fb444/podcast/rss" | 338 | feedx "Jo's Boys" "https://anchor.fm/s/840fb444/podcast/rss" |
338 | feedx "Boonta Vista" "http://feeds.soundcloud.com/users/soundcloud:users:307723090/sounds.rss" | 339 | feedx "Boonta Vista" "http://feeds.soundcloud.com/users/soundcloud:users:307723090/sounds.rss" |
339 | feedx "Yesterday's Print" "https://yesterdaysprint.tumblr.com/rss" | 340 | feedx "Yesterday's Print" "https://yesterdaysprint.tumblr.com/rss" |
340 | feedx "Threatening Music Notation" "https://nitter.kavin.rocks/ThreatNotation/rss" | 341 | feedx "Threatening Music Notation" "https://nitter.kavin.rocks/ThreatNotation/rss" |
341 | feedx "arstechnica features" "https://feeds.arstechnica.com/arstechnica/features" | 342 | feedx "arstechnica features" "https://feeds.arstechnica.com/arstechnica/features" |
342 | feedx "ars ludi" "https://arsludi.lamemage.com/index.php/feed/" | 343 | feedx "ars ludi" "https://arsludi.lamemage.com/index.php/feed/" |
343 | feedx "Carlos Carrasco" "https://carloscarrasco.com/index.xml" | 344 | feedx "Carlos Carrasco" "https://carloscarrasco.com/index.xml" |
344 | feedx "dracula daily" "https://draculadaily.substack.com/feed" | 345 | feedx "dracula daily" "https://draculadaily.substack.com/feed" |
345 | feedx "DRIVE™: The SciFi Comic, by Dave Kellett" "http://cdn.drivecomic.com/rss.xml" | 346 | feedx "DRIVE™: The SciFi Comic, by Dave Kellett" "http://cdn.drivecomic.com/rss.xml" |
346 | feedx "EcoClipper" "https://ecoclipper.org/feed/" | 347 | feedx "EcoClipper" "https://ecoclipper.org/feed/" |
347 | feedx "esolangs wiki" "https://esolangs.org/w/api.php?hidebots=1&urlversion=1&days=7&limit=50&action=feedrecentchanges&feedformat=atom" | 348 | feedx "esolangs wiki" "https://esolangs.org/w/api.php?hidebots=1&urlversion=1&days=7&limit=50&action=feedrecentchanges&feedformat=atom" |
348 | feedx "Flashing Palely in the Margins" "https://www.inthemargins.ca/feed.rss" | 349 | feedx "Flashing Palely in the Margins" "https://www.inthemargins.ca/feed.rss" |
349 | feedx "Gamestudies.org" "http://gamestudies.org/rss.php" | 350 | feedx "Gamestudies.org" "http://gamestudies.org/rss.php" |
350 | feedx "gbadev.org" "https://rss.gbadev.org/feed.php" | 351 | feedx "gbadev.org" "https://rss.gbadev.org/feed.php" |
351 | feedx "handmade.network" "https://handmade.network/atom" | 352 | feedx "handmade.network" "https://handmade.network/atom" |
352 | feedx "Indigenous Environmental Network" "https://www.ienearth.org/feed/" | 353 | feedx "Indigenous Environmental Network" "https://www.ienearth.org/feed/" |
353 | feedx "milofultz" "https://milofultz.com/atom.xml" | 354 | feedx "milofultz" "https://milofultz.com/atom.xml" |
354 | feedx "N O D E" "https://n-o-d-e.net/rss/rss.xml" | 355 | feedx "N O D E" "https://n-o-d-e.net/rss/rss.xml" |
355 | feedx "bill mill" "https://billmill.org/Atom" | 356 | feedx "bill mill" "https://billmill.org/Atom" |
356 | feedx "nullrouted.space" "https://nullrouted.space/feed/" | 357 | feedx "nullrouted.space" "https://nullrouted.space/feed/" |
357 | feedx "orllewin" "https://orllewin.uk/category/blog/feed/" | 358 | feedx "orllewin" "https://orllewin.uk/category/blog/feed/" |
358 | feedx "Pinboard (unread bookmarks for eli-oat)" "https://feeds.pinboard.in/rss/u:eli-oat/" | 359 | feedx "Pinboard (unread bookmarks for eli-oat)" "https://feeds.pinboard.in/rss/u:eli-oat/" |
359 | feedx "Rock Paper Shotgun" "https://www.rockpapershotgun.com/feed" | 360 | feedx "Rock Paper Shotgun" "https://www.rockpapershotgun.com/feed" |
360 | } | 361 | } |
361 | 362 | ||
362 | ### Filter ###################################################### | 363 | ### Filter ###################################################### |
363 | 364 | ||
364 | filter() { | 365 | filter() { |
365 | case "$1" in | 366 | case "$1" in |
366 | # Filter items based on feed name. | 367 | # Filter items based on feed name. |
367 | *'Hacker News'*) | 368 | *'Hacker News'*) |
368 | # Hacker news is stupid and doesn't include IDs, and | 369 | # Hacker news is stupid and doesn't include IDs, and |
369 | # instead includes a comments tag in its body. | 370 | # instead includes a comments tag in its body. |
370 | gawk 'BEGIN {FS="\t"; OFS="\t"} { | 371 | gawk 'BEGIN {FS="\t"; OFS="\t"} { |
371 | $6 = $4 | 372 | $6 = $4 |
372 | sub(/^<a href="/,"", $6) | 373 | sub(/^<a href="/,"", $6) |
373 | sub(/">.*$/,"", $6) | 374 | sub(/">.*$/,"", $6) |
374 | 375 | ||
375 | }' | 376 | }' |
376 | ;; | 377 | ;; |
377 | *'Claire Saffitz'*) sed 's@ | Dessert Person@@' ;; | 378 | *'Claire Saffitz'*) sed 's@ | Dessert Person@@' ;; |
378 | *Computerphile*) sed 's@ - Computerphile@@' ;; | 379 | *Computerphile*) sed 's@ - Computerphile@@' ;; |
379 | *NPR*) sed 's@www\.npr\.org@text.npr.org@' ;; | 380 | *NPR*) sed 's@www\.npr\.org@text.npr.org@' ;; |
380 | r_* | r/*) | 381 | r_* | r/*) |
381 | # Reddit doesn't include a link as its item IDs, but instead | 382 | # Reddit doesn't include a link as its item IDs, but instead |
382 | # something of the form `t3_xxxxx', where xxxxx can be glommed | 383 | # something of the form `t3_xxxxx', where xxxxx can be glommed |
383 | # into a URL to get to the comments. | 384 | # into a URL to get to the comments. |
384 | gawk -v SUBREDDIT="$1" -v ALT=i.reddit.com \ | 385 | gawk -v SUBREDDIT="$1" -v ALT=i.reddit.com \ |
385 | 'BEGIN { FS="\t"; OFS="\t"; sub("^r_","r/",SUBREDDIT); } | 386 | 'BEGIN { FS="\t"; OFS="\t"; sub("^r_","r/",SUBREDDIT); } |
386 | { $6 = "https://" ALT "/" SUBREDDIT "/comments/" substr($6, 4); } | 387 | { $6 = "https://" ALT "/" SUBREDDIT "/comments/" substr($6, 4); } |
387 | { if (match($4,/<a href="([^"]*)">\[link\]<\/a>/,ln)) $3 = ln[1]; } | 388 | { if (match($4,/<a href="([^"]*)">\[link\]<\/a>/,ln)) $3 = ln[1]; } |
388 | { gsub(/www\.reddit\.com/, ALT, $0); } | 389 | { gsub(/www\.reddit\.com/, ALT, $0); } |
389 | { print; }' | 390 | { print; }' |
390 | ;; | 391 | ;; |
391 | 'Saturday Morning Breakfast Cereal') | 392 | 'Saturday Morning Breakfast Cereal') |
392 | sed 's@Saturday Morning Breakfast Cereal - @@' | 393 | sed 's@Saturday Morning Breakfast Cereal - @@' |
393 | ;; | 394 | ;; |
394 | *) cat ;; | 395 | *) cat ;; |
395 | esac | | 396 | esac | |
396 | filter_add_empties | | 397 | filter_add_empties | |
397 | filter_html_entities | | 398 | filter_html_entities | |
398 | filter_filter_links | 399 | filter_filter_links |
399 | } | 400 | } |
400 | 401 | ||
401 | filter_add_empties() { | 402 | filter_add_empties() { |
402 | awk 'BEGIN{FS="\t";OFS=FS;} | 403 | awk 'BEGIN{FS="\t";OFS=FS;} |
403 | { $2 = $2 ? $2 : "[empty]" } | 404 | { $2 = $2 ? $2 : "[empty]" } |
404 | { print $1,$2,$3,$4,$5,$6,$7,$8,$9; } | 405 | { print $1,$2,$3,$4,$5,$6,$7,$8,$9; } |
405 | ' | 406 | ' |
406 | } | 407 | } |
407 | 408 | ||
408 | filter_embed_youtube() { | 409 | filter_embed_youtube() { |
409 | # replace youtube links with embed links | 410 | # replace youtube links with embed links |
410 | sed 's@www\.youtube\.com/watch?v=@www.youtube.com/embed/@g' | 411 | sed 's@www\.youtube\.com/watch?v=@www.youtube.com/embed/@g' |
411 | } | 412 | } |
412 | 413 | ||
413 | filter_filter_links() { | 414 | filter_filter_links() { |
414 | # shorten feedburner links and strip tracking parameters and pixels | 415 | # shorten feedburner links and strip tracking parameters and pixels |
415 | awk 'BEGIN { FS= "\t"; OFS = "\t"; } | 416 | awk 'BEGIN { FS= "\t"; OFS = "\t"; } |
416 | function filterlink(s) { | 417 | function filterlink(s) { |
417 | # protocol must start with http, https or gopher. | 418 | # protocol must start with http, https or gopher. |
418 | if (match(s, /^(http|https|gopher):\/\//) == 0) { | 419 | if (match(s, /^(http|https|gopher):\/\//) == 0) { |
@@ -440,9 +441,9 @@ print $0; | |||
440 | } | 441 | } |
441 | 442 | ||
442 | filter_html_entities() { | 443 | filter_html_entities() { |
443 | # convert HTML entities into dumb counterparts | 444 | # convert HTML entities into dumb counterparts |
444 | # (and weird shit to normal shit, too) | 445 | # (and weird shit to normal shit, too) |
445 | awk '{ | 446 | awk '{ |
446 | gsub(/"/,"\""); gsub(/"/,"\""); | 447 | gsub(/"/,"\""); gsub(/"/,"\""); |
447 | gsub(/'/,"'\''"); gsub(/'/,"'\''"); | 448 | gsub(/'/,"'\''"); gsub(/'/,"'\''"); |
448 | gsub(/’/,"'\''"); | 449 | gsub(/’/,"'\''"); |
@@ -454,37 +455,37 @@ print | |||
454 | # Fetch ######################################################### | 455 | # Fetch ######################################################### |
455 | 456 | ||
456 | fetch() { # fetch(name, url, feedfile) | 457 | fetch() { # fetch(name, url, feedfile) |
457 | "${NOFETCH:-false}" && return | 458 | "${NOFETCH:-false}" && return |
458 | curl -s -L \ | 459 | curl -s -L \ |
459 | --max-redirs 3 \ | 460 | --max-redirs 3 \ |
460 | --header "'User-Agent: $USER_AGENT'" \ | 461 | --header "'User-Agent: $USER_AGENT'" \ |
461 | --fail \ | 462 | --fail \ |
462 | --max-time 15 \ | 463 | --max-time 15 \ |
463 | "$2" | 464 | "$2" |
464 | } | 465 | } |
465 | 466 | ||
466 | # Merge ######################################################## | 467 | # Merge ######################################################## |
467 | p | 468 | p |
468 | merge() { | 469 | merge() { |
469 | # merge(name, oldfile, newfile) | 470 | # merge(name, oldfile, newfile) |
470 | case "$1" in | 471 | case "$1" in |
471 | *'Tildes'* | *r_*) | 472 | *'Tildes'* | *r_*) |
472 | # Tildes changes its IDs and titles fairly regularly, which is really | 473 | # Tildes changes its IDs and titles fairly regularly, which is really |
473 | # annoying and adds false doubles. So here, remove the last | 474 | # annoying and adds false doubles. So here, remove the last |
474 | # element of the path name (the title), and sort ONLY on | 475 | # element of the path name (the title), and sort ONLY on |
475 | # TIMESTAMP. | 476 | # TIMESTAMP. |
476 | # | 477 | # |
477 | # Reddit also sometimes does weird things, so let's just use | 478 | # Reddit also sometimes does weird things, so let's just use |
478 | # timestamps for that too. | 479 | # timestamps for that too. |
479 | cat "$2" "$3" | | 480 | cat "$2" "$3" | |
480 | sort -t ' ' -k1,1 -u | 481 | sort -t ' ' -k1,1 -u |
481 | ;; | 482 | ;; |
482 | *) | 483 | *) |
483 | # Otherwise, sort on ID and URL. This minimizes the risk of | 484 | # Otherwise, sort on ID and URL. This minimizes the risk of |
484 | # false doubles. | 485 | # false doubles. |
485 | sort -t ' ' -u -k6,6 -k3,3 "$2" "$3" 2>/dev/null | 486 | sort -t ' ' -u -k6,6 -k3,3 "$2" "$3" 2>/dev/null |
486 | ;; | 487 | ;; |
487 | esac | 488 | esac |
488 | } | 489 | } |
489 | 490 | ||
490 | # Local Variables: | 491 | # Local Variables: |