Add time to feed display

This commit is contained in:
Carter McBride 2024-06-18 22:19:54 -06:00
parent 3023fbfb60
commit 56b8cef868
4 changed files with 136 additions and 134 deletions

View file

@ -1,87 +1,87 @@
{
"Comics": [
"http://www.catanacomics.com/rss",
"http://feeds.feedburner.com/InvisibleBread",
"https://hejibits.com/rss#_=_",
"http://www.hrwiki.org/wiki/Special:Updates",
"http://rockpapercynic.tumblr.com/rss"
],
"Podcasts": [
"https://lilyandsam.show/feed",
"https://technosapiens.substack.com/feed"
],
"Friends and Family": [
"https://www.goodreads.com/review/list_rss/132710826?shelf=read",
"https://jgm23333.wixsite.com/my-site/blog-feed.xml",
"https://joekhoury.blog/feed/",
"https://social.warnick.me/users/sam.rss"
],
"Games": [
"https://www.nomanssky.com/news/feed/",
"https://www.lexaloffle.com/bbs/feed.php?uid=1",
"https://www.factorio.com/blog/rss",
"https://kill-the-newsletter.com/feeds/pghhn8aaf264tukg.xml",
"http://www.suppermariobroth.com/rss",
"http://unknownworlds.com/subnautica/feed/",
"https://store.steampowered.com/feeds/news/app/1675200/?cc=US&l=english"
],
"Finance": [
"http://feeds.feedburner.com/MrMoneyMustache",
"http://feeds.feedburner.com/DoctorOfCredit",
"https://kill-the-newsletter.com/feeds/tgor1vrwcf3f0uyo.xml",
"https://kill-the-newsletter.com/feeds/5q4gs79dfh32yr3h.xml"
],
"News": [
"http://www.economist.com/rss/the_world_this_week_rss.xml",
"https://newsroom.churchofjesuschrist.org/rss",
"http://feeds.feedburner.com/LdsChurchGrowth",
"https://www.sltrib.com/arc/outboundfeeds/news/?outputType=xml",
"https://www.ksl.com/rss/news/news_utah",
"https://www.readtangle.com/posts/rss/"
],
"Parenting": [
"https://technosapiens.substack.com/feed",
"https://parentdata.org/feed/"
],
"Fashion": [
"http://www.heddels.com/feed/",
"http://putthison.com/rss",
"https://articlesofinterest.substack.com/feed",
"https://dappered.com/feed/",
"https://dieworkwear.com/feed/",
"http://fromsqualortoballer.com/rss",
"https://fabricateurialist.substack.com/feed"
],
"Products": [
"https://jellyfin.org/index.xml",
"https://gitlab.com/CalcProgrammer1/OpenRGB/-/tags?format=atom",
"http://feeds.feedburner.com/psblog",
"https://matrix.org/blog/feed/",
"https://brave.com/feed/",
"https://bitwarden.com/blog/feed.xml"
],
"Humor": [
"https://kill-the-newsletter.com/feeds/d90ng280lhh3p2nq.xml",
"http://www.altuniversebyu.com/feed/",
"https://aiweirdness.com/rss",
"http://mcmansionhell.tumblr.com/rss"
],
"Other": [
"https://kill-the-newsletter.com/feeds/400aiwxy5ox6ao0d.xml",
"http://brandonsanderson.com/feed/",
"https://kill-the-newsletter.com/feeds/j3c4wngg2hpjmdt8.xml",
"https://astralcodexten.substack.com/feed/"
],
"Tech News": [
"https://samwarnick.com/feed.rss",
"http://feeds.feedburner.com/CssTricks",
"http://chriscoyier.net/feed/",
"https://jenniferdaniel.substack.com/feed/",
"http://www.gamingonlinux.com/article_rss.php",
"http://www.theverge.com/rss/full.xml"
],
"Emulation": [
"http://melonds.kuribo64.net/rss.php",
"https://dolphin-emu.org/blog/feeds/"
]
"Comics": [
"http://www.catanacomics.com/rss",
"http://feeds.feedburner.com/InvisibleBread",
"https://hejibits.com/rss#_=_",
"http://www.hrwiki.org/wiki/Special:Updates",
"http://rockpapercynic.tumblr.com/rss"
],
"Podcasts": [
"https://lilyandsam.show/feed",
"https://technosapiens.substack.com/feed"
],
"Friends and Family": [
"https://www.goodreads.com/review/list_rss/132710826?shelf=read",
"https://jgm23333.wixsite.com/my-site/blog-feed.xml",
"https://joekhoury.blog/feed/",
"https://social.warnick.me/users/sam.rss"
],
"Games": [
"https://www.nomanssky.com/news/feed/",
"https://www.lexaloffle.com/bbs/feed.php?uid=1",
"https://www.factorio.com/blog/rss",
"https://kill-the-newsletter.com/feeds/pghhn8aaf264tukg.xml",
"http://www.suppermariobroth.com/rss",
"http://unknownworlds.com/subnautica/feed/",
"https://store.steampowered.com/feeds/news/app/1675200/?cc=US&l=english"
],
"Finance": [
"http://feeds.feedburner.com/MrMoneyMustache",
"http://feeds.feedburner.com/DoctorOfCredit",
"https://kill-the-newsletter.com/feeds/tgor1vrwcf3f0uyo.xml",
"https://kill-the-newsletter.com/feeds/5q4gs79dfh32yr3h.xml"
],
"News": [
"http://www.economist.com/rss/the_world_this_week_rss.xml",
"https://newsroom.churchofjesuschrist.org/rss",
"http://feeds.feedburner.com/LdsChurchGrowth",
"https://www.sltrib.com/arc/outboundfeeds/news/?outputType=xml",
"https://www.ksl.com/rss/news/news_utah",
"https://www.readtangle.com/posts/rss/"
],
"Parenting": [
"https://technosapiens.substack.com/feed",
"https://parentdata.org/feed/"
],
"Fashion": [
"http://www.heddels.com/feed/",
"http://putthison.com/rss",
"https://articlesofinterest.substack.com/feed",
"https://dappered.com/feed/",
"https://dieworkwear.com/feed/",
"http://fromsqualortoballer.com/rss",
"https://fabricateurialist.substack.com/feed"
],
"Products": [
"https://jellyfin.org/index.xml",
"https://gitlab.com/CalcProgrammer1/OpenRGB/-/tags?format=atom",
"http://feeds.feedburner.com/psblog",
"https://matrix.org/blog/feed/",
"https://brave.com/feed/",
"https://bitwarden.com/blog/feed.xml"
],
"Humor": [
"https://kill-the-newsletter.com/feeds/d90ng280lhh3p2nq.xml",
"http://www.altuniversebyu.com/feed/",
"https://aiweirdness.com/rss",
"http://mcmansionhell.tumblr.com/rss"
],
"Other": [
"https://kill-the-newsletter.com/feeds/400aiwxy5ox6ao0d.xml",
"http://brandonsanderson.com/feed/",
"https://kill-the-newsletter.com/feeds/j3c4wngg2hpjmdt8.xml",
"https://astralcodexten.substack.com/feed/"
],
"Tech News": [
"https://samwarnick.com/feed.rss",
"http://feeds.feedburner.com/CssTricks",
"http://chriscoyier.net/feed/",
"https://jenniferdaniel.substack.com/feed/",
"http://www.gamingonlinux.com/article_rss.php",
"http://www.theverge.com/rss/full.xml"
],
"Emulation": [
"http://melonds.kuribo64.net/rss.php",
"https://dolphin-emu.org/blog/feeds/"
]
}

View file

@ -1,56 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>🦉 Bubo Reader</title>
<link rel="stylesheet" href="/style.css" />
</head>
<body>
<h1>🦉 Bubo Reader</h1>
{% for group, feeds in data %}
<h2>{{ group }}</h2>
{% for feed in feeds %}
<details>
<summary>
<span class="feed-title">{{ feed.title }}</span>
<span class="feed-url">({{ feed.feed }})</span>
</summary>
<ul>
{% for item in feed.items %}
<li>
{{ item.timestamp | formatDate }} -
<a
href="{{ item.link }}"
target="_blank"
rel="noopener norefferer nofollow"
>{{ item.title }}</a
>
</li>
{% endfor %}
</ul>
</details>
{% endfor %} {% endfor %} {% if errors | length > 0 %}
<h2>Errors</h2>
<p>There were errors trying to parse these feeds:</p>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>🦉 Bubo Reader</title>
<link rel="stylesheet" href="/style.css" />
</head>
<body>
<h1>🦉 Bubo Reader</h1>
{% for group, feeds in data %}
<h2>{{ group }}</h2>
{% for feed in feeds %}
<details>
<summary>
<span class="feed-title">{{ feed.title }}</span>
<span class="feed-url">({{ feed.feed }})</span>
</summary>
<ul>
{% for error in errors %}
<li>{{ error }}</li>
{% for item in feed.items %}
<li>
{{ item.timestamp | formatDate }} @ {{ item.timestamp | formatTime }}—
<a href="{{ item.link }}" target="_blank" rel="noopener norefferer nofollow">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</details>
{% endfor %} {% endfor %} {% if errors | length > 0 %}
<h2>Errors</h2>
<p>There were errors trying to parse these feeds:</p>
<ul>
{% for error in errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
<br />
<hr />
<p>Last updated {{ now }}.</p>
<p>
Powered by
<a href="https://github.com/georgemandis/bubo-rss">Bubo Reader (v{{ info.version }})</a>, a project by <a
href="https://george.mand.is">George Mandis</a>. ❤️
<a href="{{ info.funding.url }}">Sponsor on GitHub</a>
</p>
</body>
<br />
<hr />
<p>Last updated {{ now }}.</p>
<p>
Powered by
<a href="https://github.com/georgemandis/bubo-rss"
>Bubo Reader (v{{ info.version }})</a
>, a project by <a href="https://george.mand.is">George Mandis</a>. ❤️
<a href="{{ info.funding.url }}">Sponsor on GitHub</a>
</p>
</body>
</html>

View file

@ -8,7 +8,7 @@
"scripts": {
"clean": "rm -rf dist",
"build": "bun src/index.ts",
"check": "biome check --write ./src ./eslint.config.js"
"check": "biome check --write ./{src,config,public} ./eslint.config.js"
},
"author": {
"name": "George Mandis",

View file

@ -17,6 +17,11 @@ env.addFilter("formatDate", (dateString): string => {
return !Number.isNaN(date.getTime()) ? date.toLocaleDateString() : dateString;
});
env.addFilter("formatTime", (dateString): string => {
const date: Date = new Date(Number.parseInt(dateString));
return !Number.isNaN(date.getTime()) ? date.toLocaleTimeString() : dateString;
});
env.addGlobal("now", new Date().toUTCString());
// load the template