diff --git a/config/filters.js b/config/filters.js index 336bbe59..d706bbd2 100644 --- a/config/filters.js +++ b/config/filters.js @@ -12,6 +12,15 @@ module.exports = { return marked.parse(content) }, dashLower: (string) => string.replace(/\s+/g, '-').toLowerCase(), + encodeAmp: (string) => { + const pattern = /&(?!(?:[a-zA-Z]+|#[0-9]+|#x[0-9a-fA-F]+);)/g + const replacement = '&' + return string.replace(pattern, replacement) + }, + stripUtm: (string) => { + const pattern = /[?&](utm_[^&=]+=[^&#]*)/gi + return string.replace(pattern, '') + }, getPostImage: (image) => { if (image && image !== '') return image return '/assets/img/social-card.webp' diff --git a/src/feeds/books.liquid b/src/feeds/books.liquid index d57f0e55..5d1c6d0f 100644 --- a/src/feeds/books.liquid +++ b/src/feeds/books.liquid @@ -10,9 +10,9 @@ permalink: /books.xml {% for book in books %} {{ book.title | escape }} - + {{ book.dateAdded | date: "%m.%d.%Y" }} - {{ book.link | url_encode }} + {{ book.link | stripUtm | encodeAmp }} {% endfor %} diff --git a/src/feeds/json/books.11ty.liquid b/src/feeds/json/books.11ty.liquid index 719e33da..38e1f0d1 100644 --- a/src/feeds/json/books.11ty.liquid +++ b/src/feeds/json/books.11ty.liquid @@ -9,9 +9,9 @@ permalink: '/books.json' "feed_url": "https://coryd.dev/books.json", "items": [{% for book in books %} { - "id": "{{ book.link }}", + "id": "{{ book.link | stripUtm | encodeAmp }}", "title": "{{ book.title | escape }}", - "url": "{{ book.link }}", + "url": "{{ book.link | stripUtm | encodeAmp }}", "content_text": "{{ book.description | strip_html }}", "date_published": "{{ book.dateAdded | date: "%Y-%m-%dT%H:%M:%S-08:00" }}" }{% if not forloop.last %},{% endif %} diff --git a/src/feeds/json/links.11ty.liquid b/src/feeds/json/links.11ty.liquid index 15b4603c..ed6a26a5 100644 --- a/src/feeds/json/links.11ty.liquid +++ b/src/feeds/json/links.11ty.liquid @@ -9,9 +9,9 @@ permalink: '/links.json' "feed_url": "https://coryd.dev/links.json", "items": [{% for link in links %} { - "id": "{{ link.id }}", + "id": "{{ link.url | stripUtm | encodeAmp }}", "title": "{{ link.title | escape }}", - "url": "{{ link.url }}", + "url": "{{ link.url | stripUtm | encodeAmp }}", "content_text": "{{ link.summary | escape }}", "date_published": "{{ link.date | date: "%Y-%m-%dT%H:%M:%S-08:00" }}" }{% if not forloop.last %},{% endif %} diff --git a/src/feeds/links.liquid b/src/feeds/links.liquid index cd0288ee..b45cb694 100644 --- a/src/feeds/links.liquid +++ b/src/feeds/links.liquid @@ -10,9 +10,9 @@ permalink: /links.xml {% for link in links %} {{ link.title | escape }} - + {{ link.date | date: "%m.%d.%Y" }} - {{ link.url | url_encode }} + {{ link.url | stripUtm | encodeAmp }} {% endfor %}