From 70179fe7d8f334a832202251b2974fddd06e363f Mon Sep 17 00:00:00 2001 From: Garrett Mills Date: Sat, 28 Feb 2026 13:02:05 -0600 Subject: [PATCH] Fix Notes feeds + rel links on template --- src/_includes/obsidian.pug | 42 +++++--------------------------- src/blog/feeds/atom.xml.njk | 2 +- src/blog/feeds/rss2.xml.njk | 2 +- src/feed/feeds/atom.xml.njk | 47 ++++++++++++++++++++++++++++++++++++ src/feed/feeds/json.json.njk | 45 ++++++++++++++++++++++++++++++++++ src/feed/feeds/rss2.xml.njk | 47 ++++++++++++++++++++++++++++++++++++ 6 files changed, 147 insertions(+), 38 deletions(-) create mode 100644 src/feed/feeds/atom.xml.njk create mode 100644 src/feed/feeds/json.json.njk create mode 100644 src/feed/feeds/rss2.xml.njk diff --git a/src/_includes/obsidian.pug b/src/_includes/obsidian.pug index ebfe150..b744812 100644 --- a/src/_includes/obsidian.pug +++ b/src/_includes/obsidian.pug @@ -38,6 +38,12 @@ html(lang="en") meta(name='author' content='Garrett Mills') meta(name='robots' content='index, follow') link(rel='author' href='/humans.txt') + link(rel="alternate" href="/feed/atom.xml" title="Garrett Mills - Notes (Atom)" type="application/atom+xml") + link(rel="alternate" href="/feed/rss.xml" title="Garrett Mills - Notes (RSS)" type="application/rss+xml") + link(rel="alternate" href="/feed/json.json" title="Garrett Mills - Notes (JSON)" type="application/feed+json") + link(rel="alternate" href="/blog/atom.xml" title="Garrett's Blog (Atom)" type="application/atom+xml") + link(rel="alternate" href="/blog/rss2.xml" title="Garrett's Blog (RSS)" type="application/rss+xml") + link(rel="alternate" href="/blog/json.json" title="Garrett's Blog (JSON)" type="application/feed+json") include meta.html block title @@ -90,39 +96,6 @@ html(lang="en") } link(rel='stylesheet' href='/bundle.css') - //link(rel='stylesheet' href=asset('normalize.css')) - //link(rel='stylesheet' href=asset('main-bam.css')) - - //script. - // window.glmdev = window.glmdev || {} - // window.glmdev.themeStats = window.glmdev.themeStats || [] - // window.glmdev.themeStats.push('Default Theme: !{themeDisplayName}') - //link(rel='stylesheet' href=asset('main-70s.css')) - - //link(rel='stylesheet' href=`/theme/${themeName}.css` title=themeDisplayName) - //if themeStylesheets - // each sheet in themeStylesheets - // link(rel='alternate stylesheet' href=sheet.url title=sheet.displayName) - - - link(rel='author' href='/humans.txt') - //link(rel="alternate" href="/links.mark.md" title="Garrett Mills - My Bookmarks" type="text/markdown;variant=markmark") - //link(rel="alternate" href="/links" title="Garrett Mills - My Bookmarks" type="text/html") - //link(rel="alternate" href="/links/atom.xml" title="Garrett's Bookmarks (Atom)" type="application/atom+xml") - //link(rel="alternate" href="/links/rss2.xml" title="Garrett's Bookmarks (RSS)" type="application/rss+xml") - //link(rel="alternate" href="/links/json.json" title="Garrett's Bookmarks (JSON)" type="application/feed+json") - //link(rel="alternate" href="/feed/atom.xml" title="Garrett Mills - Posts & Updates (Atom)" type="application/atom+xml") - //link(rel="alternate" href="/feed/rss.xml" title="Garrett Mills - Posts & Updates (RSS)" type="application/rss+xml") - //link(rel="alternate" href="/feed/json.json" title="Garrett Mills - Posts & Updates (JSON)" type="application/feed+json") - //link(rel="alternate" href="/blog/atom.xml" title="Garrett's Blog (Atom)" type="application/atom+xml") - //link(rel="alternate" href="/blog/rss2.xml" title="Garrett's Blog (RSS)" type="application/rss+xml") - //link(rel="alternate" href="/blog/json.json" title="Garrett's Blog (JSON)" type="application/feed+json") - - //link(rel='apple-touch-icon' sizes='180x180' href=asset('favicon/apple-touch-icon.png')) - //link(rel='manifest' href=asset('favicon/site.webmanifest')) - //link(rel='icon' type='image/png' sizes='32x32' href=asset('favicon/favicon-32x32.png')) - //link(rel='icon' type='image/png' sizes='16x16' href=asset('favicon/favicon-16x16.png')) - //link(rel='shortcut icon' href=asset('favicon/favicon.ico')) body .wrapper @@ -146,9 +119,6 @@ html(lang="en") footer .obsidian glm. p © 2015-#{(new Date).getFullYear()} Garrett Mills — Technical Info - //if user() - //p    |    - //a(href="/dash") Dashboard block script diff --git a/src/blog/feeds/atom.xml.njk b/src/blog/feeds/atom.xml.njk index 4ea5a0b..77b9bd1 100644 --- a/src/blog/feeds/atom.xml.njk +++ b/src/blog/feeds/atom.xml.njk @@ -26,7 +26,7 @@ metadata: {{ metadata.description }} {{ metadata.base }}/assets/favicon/apple-touch-icon.png {{ metadata.base }}/assets/favicon/favicon.ico - Copyright (c) 2025 Garrett Mills. See website for licensing details. + Copyright (c) 2026 Garrett Mills. See website for licensing details. {%- for post in collections.blog %} diff --git a/src/blog/feeds/rss2.xml.njk b/src/blog/feeds/rss2.xml.njk index 9ca925a..d99fe85 100644 --- a/src/blog/feeds/rss2.xml.njk +++ b/src/blog/feeds/rss2.xml.njk @@ -25,7 +25,7 @@ metadata: {{ metadata.base }}/assets/favicon/apple-touch-icon.png {{ metadata.base }}/blog - Copyright (c) 2025 Garrett Mills. See website for licensing details. + Copyright (c) 2026 Garrett Mills. See website for licensing details. Technology Software Development diff --git a/src/feed/feeds/atom.xml.njk b/src/feed/feeds/atom.xml.njk new file mode 100644 index 0000000..d85f7da --- /dev/null +++ b/src/feed/feeds/atom.xml.njk @@ -0,0 +1,47 @@ +--- +permalink: /feed/atom.xml +eleventyExcludeFromCollections: true +metadata: + title: "Garrett Mills - Notes" + description: "Misc notes, posts, links, and updates from garrettmills.dev." + language: en + base: "https://garrettmills.dev" + author: + name: "Garrett Mills" + email: "shout@garrettmills.dev" +--- + + + + {{ metadata.base }}/#about + {{ metadata.title }} + {{ collections.feedDesc | getNewestCollectionItemDate | dateToRfc3339 }} + + {{ metadata.author.name }} + {{ metadata.author.email }} + {{ metadata.base }}/#about + + + + {{ metadata.description }} + {{ metadata.base }}/assets/favicon/apple-touch-icon.png + {{ metadata.base }}/assets/favicon/favicon.ico + Copyright (c) 2026 Garrett Mills. See website for licensing details. + + + {%- for post in collections.feedDesc %} + {%- set absolutePostUrl = post.url | htmlBaseUrl(metadata.base) %} + + <![CDATA[{{ post.data.title }}]]> + {{ absolutePostUrl }} + + {{ post.date | dateToRfc3339 }} + + {{ metadata.author.name }} + {{ metadata.author.email }} + {{ metadata.base }}/#about + + {{ post.content | renderTransforms(post.data.page, metadata.base) }} + + {%- endfor %} + \ No newline at end of file diff --git a/src/feed/feeds/json.json.njk b/src/feed/feeds/json.json.njk new file mode 100644 index 0000000..74cdb8c --- /dev/null +++ b/src/feed/feeds/json.json.njk @@ -0,0 +1,45 @@ +--- +permalink: /feed/json.json +eleventyExcludeFromCollections: true +metadata: + title: "Garrett Mills - Notes" + description: "Misc notes, posts, links, and updates from garrettmills.dev." + language: en + base: "https://garrettmills.dev" + author: + name: "Garrett Mills" + email: "shout@garrettmills.dev" +--- +{ + "version": "https://jsonfeed.org/version/1.1", + "title": "{{ metadata.title }}", + "language": "{{ metadata.language }}", + "home_page_url": "{{ metadata.base | addPathPrefixToFullUrl }}", + "feed_url": "{{ permalink | htmlBaseUrl(metadata.base) }}", + "description": "{{ metadata.description }}", + "icon": "{{ metadata.base }}/assets/favicon/apple-touch-icon.png", + "authors": [ + { + "name": "{{ metadata.author.name }}", + "url": "{{ metadata.base }}/#about" + } + ], + "items": [ + {%- for post in collections.feedDesc %} + {%- set absolutePostUrl %}{{ post.url | htmlBaseUrl(metadata.base) }}{% endset %} + { + "id": "{{ absolutePostUrl }}", + "url": "{{ absolutePostUrl }}", + "title": "{{ post.data.title }}", + "content_html": {% if post.content %}{{ post.content | renderTransforms(post.data.page, metadata.base) | dump | safe }}{% else %}""{% endif %}, + "date_published": "{{ post.date | dateToRfc3339 }}", + "date_modified": "{{ post.date | dateToRfc3339 }}", + "author": { + "name": "{{ metadata.author.name }}", + "url": "{{ metadata.base }}/#about" + } + } + {% if not loop.last %},{% endif %} + {%- endfor %} + ] +} \ No newline at end of file diff --git a/src/feed/feeds/rss2.xml.njk b/src/feed/feeds/rss2.xml.njk new file mode 100644 index 0000000..59f8c8b --- /dev/null +++ b/src/feed/feeds/rss2.xml.njk @@ -0,0 +1,47 @@ +--- +permalink: /feed/rss.xml +eleventyExcludeFromCollections: true +metadata: + title: "Garrett Mills - Notes" + description: "Misc notes, posts, links, and updates from garrettmills.dev." + language: en + base: "https://garrettmills.dev" + author: + name: "Garrett Mills" + email: "shout@garrettmills.dev" +--- + + + + + {{ metadata.title }} + {{ metadata.base }}/feed + {{ metadata.description }} + {{ collections.feedDesc | getNewestCollectionItemDate | dateToRfc822 }} + https://validator.w3.org/feed/docs/rss2.html + {{ metadata.language }} + + {{ metadata.title }} + {{ metadata.base }}/assets/favicon/apple-touch-icon.png + {{ metadata.base }}/feedDesc + + Copyright (c) 2026 Garrett Mills. See website for licensing details. + Technology + Software Development + + + {%- for post in collections.feedDesc %} + {%- set absolutePostUrl = post.url | htmlBaseUrl(metadata.base) %} + + <![CDATA[{{ post.data.title }}]]> + {{ absolutePostUrl }} + {{ absolutePostUrl }} + {{ post.date | dateToRfc822 }} + {{ metadata.author.name }} + {{ metadata.author.name }} + {{ post.content | renderTransforms(post.data.page, metadata.base) }} + {{ post.content | renderTransforms(post.data.page, metadata.base) }} + + {%- endfor %} + + \ No newline at end of file