diff --git a/.eleventy.js b/.eleventy.js index 6eb663b..6f1d11e 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -8,7 +8,7 @@ const markdownItEleventyImg = require("markdown-it-eleventy-img"); const pluginRss = require("@11ty/eleventy-plugin-rss"); const embedYouTube = require("eleventy-plugin-youtube-embed"); -module.exports = function (eleventyConfig) { +module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(embedYouTube); eleventyConfig.addPlugin(pluginRss); @@ -20,10 +20,10 @@ module.exports = function (eleventyConfig) { "node_modules/simpledotcss/simple.css": "css/simple.css", }); - eleventyConfig.addFilter("stringToDate", function (value) { + eleventyConfig.addFilter("stringToDate", function(value) { return new Date(value); }); - eleventyConfig.addFilter("formatDatetimeForHumans", function (value) { + eleventyConfig.addFilter("formatDatetimeForHumans", function(value) { const dt = new Date(value); const formattedDt = new Intl.DateTimeFormat("en", { dateStyle: "medium", @@ -31,13 +31,20 @@ module.exports = function (eleventyConfig) { }).format(dt); return formattedDt; }); - eleventyConfig.addFilter("formatDateForHumans", function (value) { + eleventyConfig.addFilter("formatDateForHumans", function(value) { const dt = new Date(value); const formattedDt = new Intl.DateTimeFormat("en", { dateStyle: "medium", }).format(dt); return formattedDt; }); + eleventyConfig.addFilter("convertYouTubeURLsToEmbeds", function(value) { + const youtubeUrlRegex = /
\s*(?:https?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?!channel\/|@)([^\s&<>"']*)\s*<\/p>/gim;
+ return value.replace(youtubeUrlRegex, function(match, videoId) {
+ return '';
+ });
+ });
+
const markdownLibrary = markdownIt()
.use(markdownItAnchor, { slugify })
diff --git a/src/feed.njk b/src/feed.njk
index 708e0a1..fa36dae 100644
--- a/src/feed.njk
+++ b/src/feed.njk
@@ -32,7 +32,7 @@ metadata:
{{ item.data.relativeUrl | absoluteUrl(metadata.url)}}