Unsubscribe
+Enter your email to stop receiving our newsletter.
+ + Back to newsletter +diff --git a/scripts/generate-pages.mjs b/scripts/generate-pages.mjs index 02166f1..f2f80eb 100644 --- a/scripts/generate-pages.mjs +++ b/scripts/generate-pages.mjs @@ -6,7 +6,7 @@ import { marked } from "marked"; import markedKatex from "marked-katex-extension"; import { ARTICLES_GLOB, AUTHOR_PAGES, ROOT, SRC, UNLISTED_PATH } from "./lib/constants.mjs"; import { fixInternalLinks } from "./lib/utils.mjs"; -import { renderArticle, renderHome, renderWritePage, renderNewsletterPage, renderAuthorPage } from "./lib/renderers.mjs"; +import { renderArticle, renderHome, renderWritePage, renderNewsletterPage, renderUnsubscribePage, renderAuthorPage } from "./lib/renderers.mjs"; import { ensureCleanGenerated, writeDiscoveryFiles, writePage } from "./lib/io.mjs"; marked.use(markedKatex({ throwOnError: false, nonStandard: true })); @@ -66,6 +66,7 @@ const run = async () => { await writePage([SRC, "index.html"], renderHome(listedArticles)); await writePage([SRC, "write", "index.html"], renderWritePage()); await writePage([SRC, "newsletter", "index.html"], renderNewsletterPage()); + await writePage([SRC, "unsubscribe", "index.html"], renderUnsubscribePage()); for (const author of AUTHOR_PAGES) { await writePage([SRC, "author", author.slug, "index.html"], renderAuthorPage(author)); @@ -78,7 +79,7 @@ const run = async () => { await writeDiscoveryFiles(listedArticles, AUTHOR_PAGES); - console.log(`Generated ${articles.length} article pages (${listedArticles.length} listed) + home + write + newsletter + author pages + rss/sitemap/robots.`); + console.log(`Generated ${articles.length} article pages (${listedArticles.length} listed) + home + write + newsletter + unsubscribe + author pages + rss/sitemap/robots.`); }; run().catch((err) => { diff --git a/scripts/lib/renderers.mjs b/scripts/lib/renderers.mjs index 745ec0f..473c56a 100644 --- a/scripts/lib/renderers.mjs +++ b/scripts/lib/renderers.mjs @@ -180,7 +180,7 @@ ${nav}
-Unsubscribe anytime. We never share your email.
+Unsubscribe anytime. We never share your email.
@@ -196,6 +196,59 @@ ${nav} ${footer} `; +export const renderUnsubscribePage = () => ` +${shellHead({ + title: "Unsubscribe — apophenia.news", + desc: "Unsubscribe from the apophenia.news newsletter.", + url: `${SITE_URL}/unsubscribe/` +})} +${nav} +Enter your email to stop receiving our newsletter.
+ + Back to newsletter +