From ec06abb3bfffece8c59f61248c219a9476dbe0bd Mon Sep 17 00:00:00 2001 From: Mat Manna Date: Mon, 7 Sep 2026 20:24:59 -0400 Subject: [PATCH 1/4] feat: subscription card with rss and atom feeds --- assets/icons/fa-sprite.svg | 3 +++ atom.xml | 21 ++++++++++++++++++ index.md | 44 +++++++++++++++++++++++++++++++++++++- rss.xml | 22 +++++++++++++++++++ scripts/post-build.js | 23 +++++++------------- 5 files changed, 97 insertions(+), 16 deletions(-) create mode 100644 atom.xml create mode 100644 rss.xml diff --git a/assets/icons/fa-sprite.svg b/assets/icons/fa-sprite.svg index 1315ae9..61594a0 100644 --- a/assets/icons/fa-sprite.svg +++ b/assets/icons/fa-sprite.svg @@ -28,6 +28,9 @@ + + + diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..2cdc606 --- /dev/null +++ b/atom.xml @@ -0,0 +1,21 @@ +--- +--- + + + {{ site.title | xml_escape }} + + + {{ site.url }}/ + {{ site.time | date_to_xmlschema }} + {{ site.description | xml_escape }} + {% for post in site.posts limit: 20 %} + + {{ post.title | xml_escape }} + + {{ site.url }}{{ post.url }} + {{ post.date | date_to_xmlschema }} + {{ post.date | date_to_xmlschema }} + + + {% endfor %} + \ No newline at end of file diff --git a/index.md b/index.md index 2ea6a42..06b3aa7 100644 --- a/index.md +++ b/index.md @@ -202,6 +202,49 @@ _...and some thoughts I've had or shared, (all)_ {% for post in site.posts limit:3 %} {% include post-card.html entry=post kind='post' %} {% endfor %} +
  • +
    +
    +

    {% include icon.html name="fa-solid fa-bell" class="w-4 h-4 inline-block" %} Find out about new articles by

    + +
    +
    +
  • @@ -212,6 +255,5 @@ _thank you for reading to the end of my little page! i'm guessing that probably [^1]: I see my projects as tools meant to serve humans, not exploit them. I prefer to use products which align with this. [^2]: I speak and (sometimes) understand English, Spanish, and Esperanto so far -[^3]: I've also contributed code to systems (such as Hackatime, Revoker, & site), and reported data leaks through the security program.
    diff --git a/rss.xml b/rss.xml new file mode 100644 index 0000000..94ad991 --- /dev/null +++ b/rss.xml @@ -0,0 +1,22 @@ +--- +--- + + + + {{ site.title | xml_escape }} + {{ site.url }} + {{ site.description | xml_escape }} + en-us + {{ site.time | date_to_rfc822 }} + + {% for post in site.posts limit: 20 %} + + {{ post.title | xml_escape }} + {{ site.url }}{{ post.url }} + {{ site.url }}{{ post.url }} + {{ post.date | date_to_rfc822 }} + + + {% endfor %} + + \ No newline at end of file diff --git a/scripts/post-build.js b/scripts/post-build.js index 1a42ef3..65c8d5d 100644 --- a/scripts/post-build.js +++ b/scripts/post-build.js @@ -165,21 +165,14 @@ function processFile(filePath) { }); }); - // Also create dark: mappings (e.g., dark:text-primary-300 → same cXX as text-primary-300) - Object.keys(classMap).forEach(orig => { - const darkVer = 'dark:' + orig; - classMap[darkVer] = classMap[orig]; - }); - - // Also create responsive mappings (sm:, md:, lg: → same cXX as base) - ['sm:', 'md:', 'lg:', 'xl:', '2xl:'].forEach(prefix => { - Object.keys(classMap).forEach(orig => { - if (!orig.includes(':') && classMap[orig]) { - const respVer = prefix + orig; - classMap[respVer] = classMap[orig]; - } - }); - }); + // NOTE: do NOT alias dark:/responsive variants onto their base class token. + // Sharing a token makes an element that carries the base class also match the + // variant's CSS rule (equal specificity, source-order decides), and an aliased + // `dark:` rule can sort AFTER an element's real dark variant — e.g. an element + // with `text-primary-700 dark:text-primary-300` matches both + // `.cX:where(.dark){#d6d3d1}` (real) and `.cY:where(.dark){#44403c}` (aliased + // dark:text-primary-700) and keeps its light ink in dark. Every class — + // including prefixed variants — gets its own unique index from the first pass. // Second pass: replace classes in HTML matches.forEach(m => { -- 2.51.2 From fbcaeee183a433524d962d13687d134b6884af79 Mon Sep 17 00:00:00 2001 From: Mat Manna Date: Mon, 7 Sep 2026 20:38:35 -0400 Subject: [PATCH 2/4] feat: newsletter --- assets/icons/fa-sprite.svg | 2 +- index.md | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/assets/icons/fa-sprite.svg b/assets/icons/fa-sprite.svg index 61594a0..54d9a67 100644 --- a/assets/icons/fa-sprite.svg +++ b/assets/icons/fa-sprite.svg @@ -29,7 +29,7 @@ - + diff --git a/index.md b/index.md index 06b3aa7..a71a54c 100644 --- a/index.md +++ b/index.md @@ -205,8 +205,10 @@ _...and some thoughts I've had or shared, (all)_
  • -

    {% include icon.html name="fa-solid fa-bell" class="w-4 h-4 inline-block" %} Find out about new articles by

    -
  • -- 2.51.2 From ffa5005623c6893fbfd5bf85c36ac17aef8e297e Mon Sep 17 00:00:00 2001 From: Mat Manna Date: Mon, 7 Sep 2026 20:41:08 -0400 Subject: [PATCH 3/4] fix: subscribe text size --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index a71a54c..f440699 100644 --- a/index.md +++ b/index.md @@ -205,7 +205,7 @@ _...and some thoughts I've had or shared, (all)_
  • -

    {% include icon.html name="fa-solid fa-paper-plane" class="w-4 h-4 inline-block text-primary-800 dark:text-primary-600" %} Find out when I post by:

    +

    {% include icon.html name="fa-solid fa-paper-plane" class="w-4 h-4 inline-block text-primary-800 dark:text-primary-600" %} Find out when I post by:

    • -- 2.51.2 From c60a838d38ae2a3423e2198d538fa91d9f006f1c Mon Sep 17 00:00:00 2001 From: Mat Manna Date: Mon, 7 Sep 2026 20:45:11 -0400 Subject: [PATCH 4/4] feat: hr --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index f440699..b23d5d6 100644 --- a/index.md +++ b/index.md @@ -202,6 +202,7 @@ _...and some thoughts I've had or shared, (all)_ {% for post in site.posts limit:3 %} {% include post-card.html entry=post kind='post' %} {% endfor %} +
    • -- 2.51.2