diff options
-rwxr-xr-x | sfeed_html.sh | 6 | ||||
-rw-r--r-- | sfeedrc | 105 |
2 files changed, 56 insertions, 55 deletions
diff --git a/sfeed_html.sh b/sfeed_html.sh index 01614ce..b6d21f6 100755 --- a/sfeed_html.sh +++ b/sfeed_html.sh | |||
@@ -85,7 +85,7 @@ html_feed() { # html_feed FEED(file) => HTML | |||
85 | -v ASIDE="$aside" -v limit="$LIMIT" \ | 85 | -v ASIDE="$aside" -v limit="$LIMIT" \ |
86 | 'BEGIN { FS="\t"; fresh_feed = 0; FRESH = (NOW - FRESH_SECS); } | 86 | 'BEGIN { FS="\t"; fresh_feed = 0; FRESH = (NOW - FRESH_SECS); } |
87 | FNR == 1 { nitem = 0; } | 87 | FNR == 1 { nitem = 0; } |
88 | NAME ~ /^\[yt\]/ { sub(/^\[yt\] /, "", NAME); yt = 1; } | 88 | NAME ~ /\[yt\]$/ { sub(/ \[yt\]$/, "", NAME); yt = 1; } |
89 | function unescape(t) { | 89 | function unescape(t) { |
90 | t = html_escape(t); | 90 | t = html_escape(t); |
91 | gsub(/\\\t/,"\t",t); | 91 | gsub(/\\\t/,"\t",t); |
@@ -151,10 +151,10 @@ html_feed() { # html_feed FEED(file) => HTML | |||
151 | echo "<section id=\"$filename\">" | 151 | echo "<section id=\"$filename\">" |
152 | # TODO: Include a link back to the website | 152 | # TODO: Include a link back to the website |
153 | case "$filename" in | 153 | case "$filename" in |
154 | \[yt\]*) yt=" class=\"yt\"" ;; | 154 | *\[yt\]) yt=" class=\"yt\"" ;; |
155 | *) yt="" ;; | 155 | *) yt="" ;; |
156 | esac | 156 | esac |
157 | fn="$(echo "$filename" | sed 's@^\[yt\]@@')" | 157 | fn="$(echo "$filename" | sed 's@ \[yt\]$@@')" |
158 | printf '<header><h2%s><a href="#%s">#</a> %s</h2>\n' "$yt" "$filename" "$fn" | 158 | printf '<header><h2%s><a href="#%s">#</a> %s</h2>\n' "$yt" "$filename" "$fn" |
159 | echo "<span class=\"flinks\">" | 159 | echo "<span class=\"flinks\">" |
160 | if [ -f "$SFEED_DATA/urls/$filename" ]; then | 160 | if [ -f "$SFEED_DATA/urls/$filename" ]; then |
diff --git a/sfeedrc b/sfeedrc index 0531329..435f104 100644 --- a/sfeedrc +++ b/sfeedrc | |||
@@ -30,64 +30,65 @@ feeds_planets() { | |||
30 | } | 30 | } |
31 | 31 | ||
32 | feeds_youtube() { | 32 | feeds_youtube() { |
33 | feed "[yt] 3Blue1Brown" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw" "" | 33 | feed "3Blue1Brown [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw" "" |
34 | feed "[yt] AB - Ancienne Belgique" "https://www.youtube.com/feeds/videos.xml?channel_id=UCUVAw2kdxJlcfCdEcdgXv5A" "" | 34 | feed "AB - Ancienne Belgique [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCUVAw2kdxJlcfCdEcdgXv5A" "" |
35 | feed "[yt] Abraham Moller" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMfIwe2KHD2XoBO2lWqeFXg" "" | 35 | feed "Abraham Moller [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMfIwe2KHD2XoBO2lWqeFXg" "" |
36 | feed "[yt] Adam Ragusea" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9_p50tH3WmMslWRWKnM7dQ" "" | 36 | feed "Adam Ragusea [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9_p50tH3WmMslWRWKnM7dQ" "" |
37 | feed "[yt] Babish Culinary Universe" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw" "" | 37 | feed "Babish Culinary Universe [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw" "" |
38 | feed "[yt] Baggers" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMV8p6Lb-bd6UZtTc_QD4zA" "" | 38 | feed "Baggers [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCMV8p6Lb-bd6UZtTc_QD4zA" "" |
39 | feed "[yt] Case Duckworth" "https://www.youtube.com/feeds/videos.xml?channel_id=UC92gRJdnUYklVu4pvj9n0Lw" "" | 39 | feed "Case Duckworth [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC92gRJdnUYklVu4pvj9n0Lw" "" |
40 | feed "[yt] Claire Saffitz x Dessert Person" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvw6Y1kr_8bp6B5m1dqNyiw" "" | 40 | feed "Claire Saffitz x Dessert Person [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvw6Y1kr_8bp6B5m1dqNyiw" "" |
41 | feed "[yt] Computerphile" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA" "" | 41 | feed "Computerphile [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA" "" |
42 | feed "[yt] EBRPL Career Center" "https://www.youtube.com/feeds/videos.xml?channel_id=UCIvntuaxP7PyaJDeHE_9E8Q" "" | 42 | feed "EBRPL Career Center [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCIvntuaxP7PyaJDeHE_9E8Q" "" |
43 | feed "[yt] EmacsConf and Emacs hangouts" "https://www.youtube.com/feeds/videos.xml?channel_id=UCwuyodzTl_KdEKNuJmeo99A" "" | 43 | feed "EmacsConf and Emacs hangouts [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCwuyodzTl_KdEKNuJmeo99A" "" |
44 | feed "[yt] Gavin Freeborn" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJetJ7nDNLlEzDLXv7KIo0w" "" | 44 | feed "Gavin Freeborn [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJetJ7nDNLlEzDLXv7KIo0w" "" |
45 | feed "[yt] Henry Homesweet" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZqjwc1Wy5t1rsviYYsJiYg" "" | 45 | feed "Henry Homesweet [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZqjwc1Wy5t1rsviYYsJiYg" "" |
46 | feed "[yt] Howard Abrams" "https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ" "" | 46 | feed "Howard Abrams [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ" "" |
47 | feed "[yt] Ignite Talks" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZotK8ZPTUNLMeW5Q6T0cKg" "" | 47 | feed "Ignite Talks [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCZotK8ZPTUNLMeW5Q6T0cKg" "" |
48 | feed "[yt] Jake B" "https://www.youtube.com/feeds/videos.xml?channel_id=UCBMMB7Yi0eyFuY95Qn2o0Yg" "" | 48 | feed "Jake B [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCBMMB7Yi0eyFuY95Qn2o0Yg" "" |
49 | feed "[yt] James Tomasino" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbTp1BYjpuhDRG5OmgIT8iw" "" | 49 | feed "James Tomasino [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbTp1BYjpuhDRG5OmgIT8iw" "" |
50 | feed "[yt] jan Misali" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJOh5FKisc0hUlEeWFBlD-w" "" | 50 | feed "jan Misali [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJOh5FKisc0hUlEeWFBlD-w" "" |
51 | feed "[yt] J Duckworth Animations" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtAEaNVrNxAUy2VSRPD_PYQ" "" | 51 | feed "J Duckworth Animations [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtAEaNVrNxAUy2VSRPD_PYQ" "" |
52 | feed "[yt] Jelle's Marble Runs" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYJdpnjuSWVOLgGT9fIzL0g" "" | 52 | feed "Jelle's Marble Runs [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYJdpnjuSWVOLgGT9fIzL0g" "" |
53 | feed "[yt] John Kitchin" "https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w" "" | 53 | feed "John Kitchin [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w" "" |
54 | feed "[yt] karthik" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbh_g91w0T6OYp40xFrtnhA" "" | 54 | feed "karthik [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCbh_g91w0T6OYp40xFrtnhA" "" |
55 | feed "[yt] Ken Forkish" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvVvFZd0e86bLbd5FdgYiUg" "" | 55 | feed "Ken Forkish [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCvVvFZd0e86bLbd5FdgYiUg" "" |
56 | feed "[yt] Lex Fridman" "https://www.youtube.com/feeds/videos.xml?channel_id=UCSHZKyawb77ixDdsGog4iWA" "" | 56 | feed "Lex Fridman [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCSHZKyawb77ixDdsGog4iWA" "" |
57 | feed "[yt] LockPickingLawyer" "https://www.youtube.com/feeds/videos.xml?channel_id=UCm9K6rby98W8JigLoZOh6FQ" "" | 57 | feed "LockPickingLawyer [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCm9K6rby98W8JigLoZOh6FQ" "" |
58 | feed "[yt] Maangchi" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8gFadPgK2r1ndqLI04Xvvw" "" | 58 | feed "Maangchi [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8gFadPgK2r1ndqLI04Xvvw" "" |
59 | feed "[yt] Mike Zamansky" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w" "" | 59 | feed "Mike Zamansky [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w" "" |
60 | feed "[yt] MIT OpenCourseWare" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEBb1b_L6zDS3xTUrIALZOw" "" | 60 | feed "MIT OpenCourseWare [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEBb1b_L6zDS3xTUrIALZOw" "" |
61 | feed "[yt] My Analog Journal" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8TZwtZ17WKFJSmwTZQpBTA" "" | 61 | feed "My Analog Journal [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC8TZwtZ17WKFJSmwTZQpBTA" "" |
62 | feed "[yt] Nat's What I Reckon" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEFW1E8QzP-hKxjO2Rj68wg" "" | 62 | feed "Nat's What I Reckon [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCEFW1E8QzP-hKxjO2Rj68wg" "" |
63 | feed "[yt] Now You See It" "https://www.youtube.com/feeds/videos.xml?channel_id=UCWTFGPpNQ0Ms6afXhaWDiRw" "" | 63 | feed "Now You See It [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCWTFGPpNQ0Ms6afXhaWDiRw" "" |
64 | feed "[yt] Numberphile" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A" "" | 64 | feed "Numberphile [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A" "" |
65 | feed "[yt] Philosophy Tube" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ" "" | 65 | feed "Philosophy Tube [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2PA-AKmVpU6NKCGtZq_rKQ" "" |
66 | feed "[yt] PronunciationManual" "https://www.youtube.com/feeds/videos.xml?channel_id=UCqDSLtXeZsGc3dtVb5MW13g" "" | 66 | feed "PronunciationManual [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCqDSLtXeZsGc3dtVb5MW13g" "" |
67 | feed "[yt] Protesilaos Stavrou" "https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g" "" | 67 | feed "Protesilaos Stavrou [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g" "" |
68 | feed "[yt] RailCowGirl" "https://www.youtube.com/feeds/videos.xml?channel_id=UCj-Xm8j6WBgKY8OG7s9r2vQ" "" | 68 | feed "RailCowGirl [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCj-Xm8j6WBgKY8OG7s9r2vQ" "" |
69 | feed "[yt] Simone Giertz" "https://www.youtube.com/feeds/videos.xml?channel_id=UC3KEoMzNz8eYnwBC34RaKCQ" "" | 69 | feed "Simone Giertz [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC3KEoMzNz8eYnwBC34RaKCQ" "" |
70 | feed "[yt] Steve Yegge" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2RCcnTltR3HMQOYVqwmweA" "" | 70 | feed "Steve Yegge [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC2RCcnTltR3HMQOYVqwmweA" "" |
71 | feed "[yt] System Crafters" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ" "" | 71 | feed "System Crafters [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ" "" |
72 | feed "[yt] Tasting History with Max Miller" "https://www.youtube.com/feeds/videos.xml?channel_id=UCsaGKqPZnGp_7N80hcHySGQ" "" | 72 | feed "Tasting History with Max Miller [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCsaGKqPZnGp_7N80hcHySGQ" "" |
73 | feed "[yt] Technology Connections" "https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q" "" | 73 | feed "Technology Connections [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q" "" |
74 | feed "[yt] Too Many Zooz" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtjXVqMVzBIgU0SO8AV0vPg" "" | 74 | feed "Too Many Zooz [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtjXVqMVzBIgU0SO8AV0vPg" "" |
75 | feed "[yt] Townsends" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxr2d4As312LulcajAkKJYw" "" | 75 | feed "Townsends [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCxr2d4As312LulcajAkKJYw" "" |
76 | feed "[yt] Unitarian Church of Baton Rouge" "https://www.youtube.com/feeds/videos.xml?channel_id=UClrqHvbiFM-1hn931ZmAPFw" "" | 76 | feed "Unitarian Church of Baton Rouge [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UClrqHvbiFM-1hn931ZmAPFw" "" |
77 | feed "[yt] Vulf" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtWuB1D_E3mcyYThA9iKggQ" "" | 77 | feed "Vulf [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCtWuB1D_E3mcyYThA9iKggQ" "" |
78 | feed "[yt] WFTDA: Women's Flat Track Derby Association" "https://www.youtube.com/feeds/videos.xml?channel_id=UC7eMWpvytqd3gYAqxTl9w7g" "" | 78 | feed "WFTDA: Women's Flat Track Derby Association [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC7eMWpvytqd3gYAqxTl9w7g" "" |
79 | feed "[yt] Zach Anner" "https://www.youtube.com/feeds/videos.xml?channel_id=UCPTVYxUoYWhNa8J7GzIGnyQ" "" | 79 | feed "Zach Anner [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCPTVYxUoYWhNa8J7GzIGnyQ" "" |
80 | feed "[yt] Andrew Tropin" "https://www.youtube.com/feeds/videos.xml?channel_id=UCuj_loxODrOPxSsXDfJmpng" "" | 80 | feed "Andrew Tropin [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCuj_loxODrOPxSsXDfJmpng" "" |
81 | feed "[yt] Animist" "https://www.youtube.com/feeds/videos.xml?channel_id=UCweDxCT5Fiykk3uHqPKqLWg" "" | 81 | feed "Animist [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCweDxCT5Fiykk3uHqPKqLWg" "" |
82 | feed "[yt] Chris Were Digital" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAPR27YUyxmgwm3Wc2WSHLw" "" | 82 | feed "Chris Were Digital [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCAPR27YUyxmgwm3Wc2WSHLw" "" |
83 | feed "[yt] Esoterica" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoydhtfFSk1fZXNRnkGnneQ" "" | 83 | feed "Esoterica [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UCoydhtfFSk1fZXNRnkGnneQ" "" |
84 | feed "[yt] FOSDEM" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9NuJImUbaSNKiwF2bdSfAw" "" | 84 | feed "FOSDEM [yt]" "https://www.youtube.com/feeds/videos.xml?channel_id=UC9NuJImUbaSNKiwF2bdSfAw" "" |
85 | } | 85 | } |
86 | 86 | ||
87 | feeds_podcasts() { | 87 | feeds_podcasts() { |
88 | feed "Tilde Whirl Tildeverse Podcast" "https://tilde.town/~dozens/podcast/rss.xml" "https://tilde.town/~dozens/podcast/" "" | 88 | feed "Tilde Whirl Tildeverse Podcast" "https://tilde.town/~dozens/podcast/rss.xml" "https://tilde.town/~dozens/podcast/" "" |
89 | feed "trash cat tech cat" "https://podcast.librepunk.club/tctc/ogg.xml" "https://podcast.librepunk.club/tctc/" "" | 89 | feed "trash cat tech cat" "https://podcast.librepunk.club/tctc/ogg.xml" "https://podcast.librepunk.club/tctc/" "" |
90 | feed "Hacker Public Radio" "https://hackerpublicradio.org/hpr_ogg_rss.php" "https://hackerpublicradio.org/" "" | 90 | feed "Hacker Public Radio" "https://hackerpublicradio.org/hpr_ogg_rss.php" "https://hackerpublicradio.org/" "" |
91 | feed "Levar Burton Reads" "https://feeds.simplecast.com/LDNgBXht" | ||
91 | } | 92 | } |
92 | 93 | ||
93 | feeds_friends() { | 94 | feeds_friends() { |