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 %}