From bf101bf19b9a9d0d8b999434ee739c9622e7eeff Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 10 Jul 2024 19:23:09 +0000 Subject: [PATCH 1/3] First pass at server fetch --- content/_data/newsletterArchive.js | 15 +++++++++++++++ content/oddnews.njk | 4 +--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 content/_data/newsletterArchive.js diff --git a/content/_data/newsletterArchive.js b/content/_data/newsletterArchive.js new file mode 100644 index 00000000..2e7b7f0e --- /dev/null +++ b/content/_data/newsletterArchive.js @@ -0,0 +1,15 @@ +import eleventyFetch from '@11ty/eleventy-fetch'; + +export default async () => { + const url = + 'https://oddbird.us19.list-manage.com/generate-js/?u=80219aa68d7bad77b9fd2eb93&fid=27537&show=10'; + const res = await eleventyFetch(url, { + type: 'text', + duration: '0s', + directory: '.cache/eleventy-fetch/', + dryRun: false, + }); + const archives = res.replace(/^document.write\("/, '').replace(/"\);$/, ''); + + return archives; +}; diff --git a/content/oddnews.njk b/content/oddnews.njk index 99dc3def..b05feef2 100644 --- a/content/oddnews.njk +++ b/content/oddnews.njk @@ -50,6 +50,4 @@ summary: | {{ layout.title('Latest News') }} -
- -
+{{ newsletterArchive | safe }} From bd746458c359cbfe489f2c121f17ca8b23743c6f Mon Sep 17 00:00:00 2001 From: Jonny Gerig Meyer Date: Wed, 10 Jul 2024 18:07:04 -0400 Subject: [PATCH 2/3] strip string backslash escaping --- content/_data/newsletterArchive.js | 8 +++++++- content/oddnews.njk | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/content/_data/newsletterArchive.js b/content/_data/newsletterArchive.js index 2e7b7f0e..db082069 100644 --- a/content/_data/newsletterArchive.js +++ b/content/_data/newsletterArchive.js @@ -11,5 +11,11 @@ export default async () => { }); const archives = res.replace(/^document.write\("/, '').replace(/"\);$/, ''); - return archives; + try { + return JSON.parse(`"${archives}"`); + } catch (e) { + // eslint-disable-next-line no-console + console.error('Failed fetching OddNews archive.', e); + return ''; + } }; diff --git a/content/oddnews.njk b/content/oddnews.njk index b05feef2..1b4b4eec 100644 --- a/content/oddnews.njk +++ b/content/oddnews.njk @@ -48,6 +48,8 @@ summary: | ) }} -{{ layout.title('Latest News') }} +{% if newsletterArchive | length %} + {{ layout.title('Latest News') }} -{{ newsletterArchive | safe }} + {{ newsletterArchive | safe }} +{% endif %} From 99b38a8901491716d9dc25527391801df71fabe6 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Thu, 11 Jul 2024 14:06:56 +0000 Subject: [PATCH 3/3] Persist quotes --- content/_data/newsletterArchive.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/_data/newsletterArchive.js b/content/_data/newsletterArchive.js index db082069..fc05f8b4 100644 --- a/content/_data/newsletterArchive.js +++ b/content/_data/newsletterArchive.js @@ -9,10 +9,10 @@ export default async () => { directory: '.cache/eleventy-fetch/', dryRun: false, }); - const archives = res.replace(/^document.write\("/, '').replace(/"\);$/, ''); + const archives = res.replace(/^document.write\(/, '').replace(/\);$/, ''); try { - return JSON.parse(`"${archives}"`); + return JSON.parse(archives); } catch (e) { // eslint-disable-next-line no-console console.error('Failed fetching OddNews archive.', e);