From 6fdb6c4a6a8810b6e8466b37db9f341f69f6cf52 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 18 Jul 2022 19:53:03 -0500 Subject: Add base urls to sfeedrc --- sfeed_html.sh | 6 +- sfeedrc | 292 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 151 insertions(+), 147 deletions(-) diff --git a/sfeed_html.sh b/sfeed_html.sh index 948bf93..01614ce 100755 --- a/sfeed_html.sh +++ b/sfeed_html.sh @@ -160,10 +160,10 @@ html_feed() { # html_feed FEED(file) => HTML if [ -f "$SFEED_DATA/urls/$filename" ]; then feed_url="$(sed -n '1p;1q' "$SFEED_DATA/urls/$filename")" site_url="$(sed -n '2p;2q' "$SFEED_DATA/urls/$filename")" - [ -n "$site_url" ] && printf '%s\n//' "$site_url" site - [ -n "$feed_url" ] && printf '%s\n//' "$feed_url" feed + [ -n "$site_url" ] && printf '%s\n//\n' "$site_url" site + [ -n "$feed_url" ] && printf '%s\n//\n' "$feed_url" feed fi - printf '\n%s' top + printf '%s' top echo "" echo "" echo "$entries" diff --git a/sfeedrc b/sfeedrc index e71f1d4..0531329 100644 --- a/sfeedrc +++ b/sfeedrc @@ -8,10 +8,13 @@ maxjobs="$(nproc)" ### Feeds ####################################################### feeds() { + ## feed NAME FEED_URL BASE_URL ENCODING # defined by sfeedrc(5). + # I want to add some extra fields after these. feeds_planets feeds_youtube feeds_podcasts feeds_friends + feeds_people feeds_news feeds_smolweb feeds_comics @@ -20,135 +23,136 @@ feeds() { } feeds_planets() { - feed "Planet Emacs" "https://planet.emacslife.com/atom.xml" - feed "r/emacs" "http://old.reddit.com/r/emacs.rss" - feed "Planet Lisp" "https://planet.lisp.org/rss20.xml" - feed "Planet Scheme" "https://planet.scheme.org/atom.xml" + feed "Planet Emacs" "https://planet.emacslife.com/atom.xml" "https://planet.emacslife.com/" "" + feed "r/emacs" "http://old.reddit.com/r/emacs.rss" "http://old.reddit.com/r/emacs" "" + feed "Planet Lisp" "https://planet.lisp.org/rss20.xml" "https://planet.lisp.org/" "" + feed "Planet Scheme" "https://planet.scheme.org/atom.xml" "https://planet.scheme.org/" "" } feeds_youtube() { - feed "[yt] 3Blue1Brown" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw' - feed "[yt] AB - Ancienne Belgique" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCUVAw2kdxJlcfCdEcdgXv5A' - feed "[yt] Abraham Moller" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCMfIwe2KHD2XoBO2lWqeFXg' - feed "[yt] Adam Ragusea" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC9_p50tH3WmMslWRWKnM7dQ' - feed "[yt] Babish Culinary Universe" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw' - feed "[yt] Baggers" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCMV8p6Lb-bd6UZtTc_QD4zA' - feed "[yt] Case Duckworth" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC92gRJdnUYklVu4pvj9n0Lw' - feed "[yt] Claire Saffitz x Dessert Person" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCvw6Y1kr_8bp6B5m1dqNyiw' - feed "[yt] Computerphile" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA' - feed "[yt] EBRPL Career Center" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCIvntuaxP7PyaJDeHE_9E8Q' - feed "[yt] EmacsConf and Emacs hangouts" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCwuyodzTl_KdEKNuJmeo99A' - feed "[yt] Gavin Freeborn" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCJetJ7nDNLlEzDLXv7KIo0w' - feed "[yt] Henry Homesweet" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCZqjwc1Wy5t1rsviYYsJiYg' - feed "[yt] Howard Abrams" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ' - feed "[yt] Ignite Talks" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCZotK8ZPTUNLMeW5Q6T0cKg' - feed "[yt] Jake B" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCBMMB7Yi0eyFuY95Qn2o0Yg' - feed "[yt] James Tomasino" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCbTp1BYjpuhDRG5OmgIT8iw' - feed "[yt] jan Misali" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCJOh5FKisc0hUlEeWFBlD-w' - feed "[yt] J Duckworth Animations" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCtAEaNVrNxAUy2VSRPD_PYQ' - feed "[yt] Jelle's Marble Runs" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCYJdpnjuSWVOLgGT9fIzL0g' - feed "[yt] John Kitchin" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w' - feed "[yt] karthik" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCbh_g91w0T6OYp40xFrtnhA' - feed "[yt] Ken Forkish" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCvVvFZd0e86bLbd5FdgYiUg' - feed "[yt] Lex Fridman" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCSHZKyawb77ixDdsGog4iWA' - feed "[yt] LockPickingLawyer" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCm9K6rby98W8JigLoZOh6FQ' - feed "[yt] Maangchi" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC8gFadPgK2r1ndqLI04Xvvw' - feed "[yt] Mike Zamansky" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w' - feed "[yt] MIT OpenCourseWare" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCEBb1b_L6zDS3xTUrIALZOw' - feed "[yt] My Analog Journal" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC8TZwtZ17WKFJSmwTZQpBTA' - feed "[yt] Nat's What I Reckon" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCEFW1E8QzP-hKxjO2Rj68wg' - feed "[yt] Now You See It" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCWTFGPpNQ0Ms6afXhaWDiRw' - feed "[yt] Numberphile" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A' - feed "[yt] Philosophy Tube" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ' - feed "[yt] PronunciationManual" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCqDSLtXeZsGc3dtVb5MW13g' - feed "[yt] Protesilaos Stavrou" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g' - feed "[yt] RailCowGirl" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCj-Xm8j6WBgKY8OG7s9r2vQ' - feed "[yt] Simone Giertz" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC3KEoMzNz8eYnwBC34RaKCQ' - feed "[yt] Steve Yegge" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC2RCcnTltR3HMQOYVqwmweA' - feed "[yt] System Crafters" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ' - feed "[yt] Tasting History with Max Miller" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCsaGKqPZnGp_7N80hcHySGQ' - feed "[yt] Technology Connections" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q' - feed "[yt] Too Many Zooz" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCtjXVqMVzBIgU0SO8AV0vPg' - feed "[yt] Townsends" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCxr2d4As312LulcajAkKJYw' - feed "[yt] Unitarian Church of Baton Rouge" 'https://www.youtube.com/feeds/videos.xml?channel_id=UClrqHvbiFM-1hn931ZmAPFw' - feed "[yt] Vulf" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCtWuB1D_E3mcyYThA9iKggQ' - feed "[yt] WFTDA: Women's Flat Track Derby Association" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC7eMWpvytqd3gYAqxTl9w7g' - feed "[yt] Zach Anner" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCPTVYxUoYWhNa8J7GzIGnyQ' - feed "[yt] Andrew Tropin" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCuj_loxODrOPxSsXDfJmpng' - feed "[yt] Animist" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCweDxCT5Fiykk3uHqPKqLWg' - feed "[yt] Chris Were Digital" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCAPR27YUyxmgwm3Wc2WSHLw' - feed "[yt] Esoterica" 'https://www.youtube.com/feeds/videos.xml?channel_id=UCoydhtfFSk1fZXNRnkGnneQ' - feed "[yt] FOSDEM" 'https://www.youtube.com/feeds/videos.xml?channel_id=UC9NuJImUbaSNKiwF2bdSfAw' + feed "[yt] 3Blue1Brown" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw" "" + feed "[yt] AB - Ancienne Belgique" "https://www.youtube.com/feeds/videos.xml?channel_id=UCUVAw2kdxJlcfCdEcdgXv5A" "" + feed "[yt] Abraham Moller" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMfIwe2KHD2XoBO2lWqeFXg" "" + feed "[yt] Adam Ragusea" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9_p50tH3WmMslWRWKnM7dQ" "" + feed "[yt] Babish Culinary Universe" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw" "" + feed "[yt] Baggers" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMV8p6Lb-bd6UZtTc_QD4zA" "" + feed "[yt] Case Duckworth" "https://www.youtube.com/feeds/videos.xml?channel_id=UC92gRJdnUYklVu4pvj9n0Lw" "" + feed "[yt] Claire Saffitz x Dessert Person" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvw6Y1kr_8bp6B5m1dqNyiw" "" + feed "[yt] Computerphile" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA" "" + feed "[yt] EBRPL Career Center" "https://www.youtube.com/feeds/videos.xml?channel_id=UCIvntuaxP7PyaJDeHE_9E8Q" "" + feed "[yt] EmacsConf and Emacs hangouts" "https://www.youtube.com/feeds/videos.xml?channel_id=UCwuyodzTl_KdEKNuJmeo99A" "" + feed "[yt] Gavin Freeborn" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJetJ7nDNLlEzDLXv7KIo0w" "" + feed "[yt] Henry Homesweet" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZqjwc1Wy5t1rsviYYsJiYg" "" + feed "[yt] Howard Abrams" "https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ" "" + feed "[yt] Ignite Talks" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZotK8ZPTUNLMeW5Q6T0cKg" "" + feed "[yt] Jake B" "https://www.youtube.com/feeds/videos.xml?channel_id=UCBMMB7Yi0eyFuY95Qn2o0Yg" "" + feed "[yt] James Tomasino" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbTp1BYjpuhDRG5OmgIT8iw" "" + feed "[yt] jan Misali" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJOh5FKisc0hUlEeWFBlD-w" "" + feed "[yt] J Duckworth Animations" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtAEaNVrNxAUy2VSRPD_PYQ" "" + feed "[yt] Jelle's Marble Runs" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYJdpnjuSWVOLgGT9fIzL0g" "" + feed "[yt] John Kitchin" "https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w" "" + feed "[yt] karthik" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbh_g91w0T6OYp40xFrtnhA" "" + feed "[yt] Ken Forkish" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvVvFZd0e86bLbd5FdgYiUg" "" + feed "[yt] Lex Fridman" "https://www.youtube.com/feeds/videos.xml?channel_id=UCSHZKyawb77ixDdsGog4iWA" "" + feed "[yt] LockPickingLawyer" "https://www.youtube.com/feeds/videos.xml?channel_id=UCm9K6rby98W8JigLoZOh6FQ" "" + feed "[yt] Maangchi" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8gFadPgK2r1ndqLI04Xvvw" "" + feed "[yt] Mike Zamansky" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w" "" + feed "[yt] MIT OpenCourseWare" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEBb1b_L6zDS3xTUrIALZOw" "" + feed "[yt] My Analog Journal" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8TZwtZ17WKFJSmwTZQpBTA" "" + feed "[yt] Nat's What I Reckon" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEFW1E8QzP-hKxjO2Rj68wg" "" + feed "[yt] Now You See It" "https://www.youtube.com/feeds/videos.xml?channel_id=UCWTFGPpNQ0Ms6afXhaWDiRw" "" + feed "[yt] Numberphile" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A" "" + feed "[yt] Philosophy Tube" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ" "" + feed "[yt] PronunciationManual" "https://www.youtube.com/feeds/videos.xml?channel_id=UCqDSLtXeZsGc3dtVb5MW13g" "" + feed "[yt] Protesilaos Stavrou" "https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g" "" + feed "[yt] RailCowGirl" "https://www.youtube.com/feeds/videos.xml?channel_id=UCj-Xm8j6WBgKY8OG7s9r2vQ" "" + feed "[yt] Simone Giertz" "https://www.youtube.com/feeds/videos.xml?channel_id=UC3KEoMzNz8eYnwBC34RaKCQ" "" + feed "[yt] Steve Yegge" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2RCcnTltR3HMQOYVqwmweA" "" + feed "[yt] System Crafters" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ" "" + feed "[yt] Tasting History with Max Miller" "https://www.youtube.com/feeds/videos.xml?channel_id=UCsaGKqPZnGp_7N80hcHySGQ" "" + feed "[yt] Technology Connections" "https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q" "" + feed "[yt] Too Many Zooz" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtjXVqMVzBIgU0SO8AV0vPg" "" + feed "[yt] Townsends" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxr2d4As312LulcajAkKJYw" "" + feed "[yt] Unitarian Church of Baton Rouge" "https://www.youtube.com/feeds/videos.xml?channel_id=UClrqHvbiFM-1hn931ZmAPFw" "" + feed "[yt] Vulf" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtWuB1D_E3mcyYThA9iKggQ" "" + feed "[yt] WFTDA: Women's Flat Track Derby Association" "https://www.youtube.com/feeds/videos.xml?channel_id=UC7eMWpvytqd3gYAqxTl9w7g" "" + feed "[yt] Zach Anner" "https://www.youtube.com/feeds/videos.xml?channel_id=UCPTVYxUoYWhNa8J7GzIGnyQ" "" + feed "[yt] Andrew Tropin" "https://www.youtube.com/feeds/videos.xml?channel_id=UCuj_loxODrOPxSsXDfJmpng" "" + feed "[yt] Animist" "https://www.youtube.com/feeds/videos.xml?channel_id=UCweDxCT5Fiykk3uHqPKqLWg" "" + feed "[yt] Chris Were Digital" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAPR27YUyxmgwm3Wc2WSHLw" "" + feed "[yt] Esoterica" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoydhtfFSk1fZXNRnkGnneQ" "" + feed "[yt] FOSDEM" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9NuJImUbaSNKiwF2bdSfAw" "" } feeds_podcasts() { - feed "Tilde Whirl Tildeverse Podcast" 'https://tilde.town/~dozens/podcast/rss.xml' - feed "trash cat tech cat" 'https://podcast.librepunk.club/tctc/ogg.xml' - feed "Hacker Public Radio" 'https://hackerpublicradio.org/hpr_ogg_rss.php' + feed "Tilde Whirl Tildeverse Podcast" "https://tilde.town/~dozens/podcast/rss.xml" "https://tilde.town/~dozens/podcast/" "" + feed "trash cat tech cat" "https://podcast.librepunk.club/tctc/ogg.xml" "https://podcast.librepunk.club/tctc/" "" + feed "Hacker Public Radio" "https://hackerpublicradio.org/hpr_ogg_rss.php" "https://hackerpublicradio.org/" "" } feeds_friends() { - # nihilazo - feed "lipu pi jan Niko" 'https://tilde.town/~nihilazo/index.xml' - # dozens - feed "chrismanbrown.gitlab.io (dozens)" 'https://chrismanbrown.gitlab.io/rss.xml' - feed "Dozens and Dragons" 'https://dozensanddragons.neocities.org/rss.xml' - feed "dozens: Society For Putting Things On Top Of Other Things" 'https://society.neocities.org/rss.xml' - feed "dozens: vgnfdblg" 'https://supervegan.neocities.org/feed.xml' - feed "dozens: backgammon" 'http://tilde.town/~dozens/backgammon/rss.xml' - feed "dozens: It's Pro Toad and Superb Owl" 'https://git.tilde.town/dozens/protoadandsuperbowl/raw/branch/master/feed.xml' - feed "dozens dreams" 'https://tilde.team/~dozens/dreams/rss.xml' - feed "dozens: write.as" 'https://write.tildeverse.org/dozens/feed/' - feed "dozens css art" 'http://tilde.town/~dozens/cssart/feed.xml' - ### - feed "Benjamin Wil" 'https://benjaminwil.info/feed.xml' - feed "(lambda (x) (create x))" 'http://lambdacreate.com/static/feed.rss' - feed "m455.casa" 'https://m455.casa/feed.rss' - feed "Oatmeal" 'https://eli.li/feed.rss' - feed "RSRSSS" 'https://envs.net/~lucidiot/rsrsss/feed.xml' - feed "Tomasino Blog" 'https://blog.tomasino.org/index.xml' - feed "Tomasino Labs" 'https://labs.tomasino.org/index.xml' - feed "Will's Blog" 'https://wflewis.com/feed.xml' - feed "Rick Carlino's Blog" 'https://rickcarlino.com/rss/feed.rss' - feed "Causal Agency" 'https://text.causal.agency/feed.atom' - feed "Benoit Joly" 'https://blog.benoitj.ca/posts/index.xml' - feed "p1k3::feed" 'https://p1k3.com/feed' - feed "linkbudz" 'https://linkbudz.m455.casa/feed.rss' - feed "Alex Schroeder" "https://alexschroeder.ch/wiki/feed/full/" - feed "Björn Wärmedal" "https://warmedal.se/~bjorn/atom.xml" - feed "a rickety bridge of impossible crossing" "https://bluelander.bearblog.dev/feed/" + feed "lipu pi jan Niko" "https://tilde.town/~nihilazo/index.xml" "https://tilde.town/~nihilazo/" "" + feed "chrismanbrown.gitlab.io (dozens)" "https://chrismanbrown.gitlab.io/rss.xml" "https://chrismanbrown.gitlab.io/" "" + feed "Dozens and Dragons" "https://dozensanddragons.neocities.org/rss.xml" "https://dozensanddragons.neocities.org/" "" + feed "dozens: Society For Putting Things On Top Of Other Things" "https://society.neocities.org/rss.xml" "https://society.neocities.org/" "" + feed "dozens: vgnfdblg" "https://supervegan.neocities.org/feed.xml" "https://supervegan.neocities.org/" "" + feed "dozens: backgammon" "http://tilde.town/~dozens/backgammon/rss.xml" "http://tilde.town/~dozens/backgammon/" "" + feed "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/" "" + feed "dozens dreams" "https://tilde.team/~dozens/dreams/rss.xml" "https://tilde.team/~dozens/dreams/" "" + feed "dozens: write.as" "https://write.tildeverse.org/dozens/feed/" "https://write.tildeverse.org/dozens/" "" + feed "dozens css art" "http://tilde.town/~dozens/cssart/feed.xml" "http://tilde.town/~dozens/cssart/" "" + feed "Benjamin Wil" "https://benjaminwil.info/feed.xml" "https://benjaminwil.info/" "" + feed "(lambda (x) (create x))" "http://lambdacreate.com/static/feed.rss" "http://lambdacreate.com/" "" + feed "m455.casa" "https://m455.casa/feed.rss" "https://m455.casa/" "" + feed "Oatmeal" "https://eli.li/feed.rss" "https://eli.li/" "" + feed "RSRSSS" "https://envs.net/~lucidiot/rsrsss/feed.xml" "https://envs.net/~lucidiot/rsrsss/" "" + feed "Tomasino Blog" "https://blog.tomasino.org/index.xml" "https://blog.tomasino.org/" "" + feed "Tomasino Labs" "https://labs.tomasino.org/index.xml" "https://labs.tomasino.org/" "" + feed "Will's Blog" "https://wflewis.com/feed.xml" "https://wflewis.com/" "" + feed "Rick Carlino's Blog" "https://rickcarlino.com/rss/feed.rss" "https://rickcarlino.com/rss/" "" + feed "Causal Agency" "https://text.causal.agency/feed.atom" "https://text.causal.agency/" "" + feed "Benoit Joly" "https://blog.benoitj.ca/posts/index.xml" "https://blog.benoitj.ca/posts/" "" + feed "p1k3::feed" "https://p1k3.com/feed" "https://p1k3.com/" "" + feed "linkbudz" "https://linkbudz.m455.casa/feed.rss" "https://linkbudz.m455.casa/" "" + feed "Alex Schroeder" "https://alexschroeder.ch/wiki/feed/full/" "https://alexschroeder.ch/" "" + feed "Björn Wärmedal" "https://warmedal.se/~bjorn/atom.xml" "https://warmedal.se/~bjorn/" "" + feed "a rickety bridge of impossible crossing" "https://bluelander.bearblog.dev/feed/" "https://bluelander.bearblog.dev/" "" } -feeds_comics() { - feed "Cat and Girl" 'https://catandgirl.com/feed/' - feed "Dinosaur Comics!" 'https://qwantz.com/rssfeed.php' - feed "False Knees" 'https://falseknees.tumblr.com/rss' - feed "Saturday Morning Breakfast Cereal" 'https://www.smbc-comics.com/comic/rss' - feed "xkcd" 'https://xkcd.com/atom.xml' +feeds_people() { + feed "ajroach" "http://ajroach42.com/feed.xml" "http://ajroach42.com/" "" } feeds_news() { - feed "Hacker News" 'https://news.ycombinator.com/rss' - feed "lobste.rs" 'https://lobste.rs/rss' - feed "tilde news" 'https://tilde.news/rss' - feed "Tildes Atom feed" 'https://tildes.net/topics.atom' - feed "NPR" "https://feeds.npr.org/1001/rss.xml" + feed "Hacker News" "https://news.ycombinator.com/rss" "https://news.ycombinator.com/" "" + feed "lobste.rs" "https://lobste.rs/rss" "https://lobste.rs/" "" + feed "tilde news" "https://tilde.news/rss" "https://tilde.news/" "" + feed "Tildes Atom feed" "https://tildes.net/topics.atom" "https://tildes.net/" "" + feed "NPR" "https://feeds.npr.org/1001/rss.xml" "https://text.npr.org/" "" } -feeds_me() { - : +feeds_smolweb() { + feed "~town friday postcard" "https://tilde.town/~lucidiot/fridaypostcard.xml" "" + feed "Cosmic Voyage" "https://cosmic.voyage/rss.xml" "https://cosmic.voyage/" "" + feed "plan.cat" "https://plan.cat/rss" "https://plan.cat/" "" } -feeds_smolweb() { - feed "~town friday postcard" 'https://tilde.town/~lucidiot/fridaypostcard.xml' - feed "Cosmic Voyage" 'https://cosmic.voyage/rss.xml' - feed "plan.cat" 'https://plan.cat/rss' +feeds_comics() { + feed "Cat and Girl" "https://catandgirl.com/feed/" "https://catandgirl.com/" "" + feed "Dinosaur Comics!" "https://qwantz.com/rssfeed.php" "https://qwantz.com/" "" + feed "False Knees" "https://falseknees.tumblr.com/rss" "https://falseknees.tumblr.com/" "" + feed "Saturday Morning Breakfast Cereal" "https://www.smbc-comics.com/comic/rss" "https://www.smbc-comics.com/" "" + feed "xkcd" "https://xkcd.com/atom.xml" "https://xkcd.com/" "" } feeds_misc() { - feed "Crystalverse" 'https://crystalverse.com/feed/' - feed "Hetzner" 'https://status.hetzner.com/en.atom' - feed "LOW-TECH MAGAZINE" 'https://feeds2.feedburner.com/typepad/krisdedecker/lowtechmagazineenglish' + feed "Crystalverse" "https://crystalverse.com/feed/" "https://crystalverse.com/" "" + feed "Hetzner" "https://status.hetzner.com/en.atom" "https://status.hetzner.com/" "" + feed "LOW-TECH MAGAZINE" "https://feeds2.feedburner.com/typepad/krisdedecker/lowtechmagazineenglish" "https://www.lowtechmagazine.com/" "" +} + +feeds_me() { + : } ### Filter ###################################################### @@ -160,11 +164,11 @@ filter() { # Hacker news is stupid and doesn't include IDs, and # instead includes a comments tag in its body. awk 'BEGIN {FS="\t"; OFS="\t"} { - $6 = $4 - sub(/^.*$/,"", $6) - print - }' +$6 = $4 +sub(/^.*$/,"", $6) +print +}' ;; *NPR*) sed 's@www\.npr\.org@text.npr.org@' @@ -186,8 +190,8 @@ filter() { filter_add_empties() { awk 'BEGIN{FS="\t";OFS=FS;} - { $2 = $2 ? $2 : "[empty]" } - { print $1,$2,$3,$4,$5,$6,$7,$8,$9; } +{ $2 = $2 ? $2 : "[empty]" } +{ print $1,$2,$3,$4,$5,$6,$7,$8,$9; } ' } @@ -199,41 +203,41 @@ filter_embed_youtube() { filter_filter_links() { # shorten feedburner links and strip tracking parameters and pixels awk -F '\t' 'BEGIN { OFS = "\t"; } - function filterlink(s) { - # protocol must start with http, https or gopher. - if (match(s, /^(http|https|gopher):\/\//) == 0) { - return ""; - } - # shorten feedburner links. - if (match(s, /^(http|https):\/\/[^\/]+\/~r\/.*\/~3\/[^\/]+\//)) { - s = substr($3, RSTART, RLENGTH); - } - # strip tracking parameters - # urchin, facebook, piwik, webtrekk and generic. - gsub(/\?(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "?", s); - gsub(/&(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "", s); - gsub(/\?&/, "?", s); - gsub(/[\?&]+$/, "", s); - return s - } - { - $3 = filterlink($3); # link - $8 = filterlink($8); # enclosure - # try to remove tracking pixels: tags with 1px width or height. - gsub("]*(width|height)[[:space:]]*=[[:space:]]*[\"'"'"' ]?1[\"'"'"' ]?[^0-9>]+[^>]*>", "", $4); - print $0; - }' +function filterlink(s) { +# protocol must start with http, https or gopher. +if (match(s, /^(http|https|gopher):\/\//) == 0) { +return ""; +} +# shorten feedburner links. +if (match(s, /^(http|https):\/\/[^\/]+\/~r\/.*\/~3\/[^\/]+\//)) { +s = substr($3, RSTART, RLENGTH); +} +# strip tracking parameters +# urchin, facebook, piwik, webtrekk and generic. +gsub(/\?(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "?", s); +gsub(/&(ad|campaign|fbclid|pk|tm|utm|wt)_([^&]+)/, "", s); +gsub(/\?&/, "?", s); +gsub(/[\?&]+$/, "", s); +return s +} +{ +$3 = filterlink($3); # link +$8 = filterlink($8); # enclosure +# try to remove tracking pixels: tags with 1px width or height. +gsub("]*(width|height)[[:space:]]*=[[:space:]]*[\"'"'"' ]?1[\"'"'"' ]?[^0-9>]+[^>]*>", "", $4); +print $0; +}' } filter_html_entities() { # convert HTML entities into dumb counterparts # (and weird shit to normal shit, too) awk '{ - gsub(/"/,"\""); gsub(/"/,"\""); - gsub(/'/,"'\''"); gsub(/'/,"'\''"); - gsub(/’/,"'\''"); - gsub(/&/,"\\&"); # MUST BE LAST!; - print +gsub(/"/,"\""); gsub(/"/,"\""); +gsub(/'/,"'\''"); gsub(/'/,"'\''"); +gsub(/’/,"'\''"); +gsub(/&/,"\\&"); # MUST BE LAST!; +print }' } -- cgit 1.4.1-21-gabe81