From 76472ada91215bf3d00c58773c350df396e39b8d Mon Sep 17 00:00:00 2001 From: Nathan Upchurch Date: Mon, 12 Jan 2026 11:14:24 -0600 Subject: [PATCH] Add markdown parsing to status entries --- _includes/statusList.njk | 2 +- content/changelog/index.md | 5 ++++ content/links/index.md | 13 +++++++-- content/status/index.njk | 2 +- eleventy.config.js | 60 ++++++++++++++++++++------------------ 5 files changed, 49 insertions(+), 33 deletions(-) diff --git a/_includes/statusList.njk b/_includes/statusList.njk index 7ecbbf1..b0d1d56 100644 --- a/_includes/statusList.njk +++ b/_includes/statusList.njk @@ -22,7 +22,7 @@ {% endif %} - {{ status.data.comment }}
+ {{ status.data.comment | markdownify | safe }}
{{ status.date | niceDate }} diff --git a/content/changelog/index.md b/content/changelog/index.md index 41fed3b..8a00366 100644 --- a/content/changelog/index.md +++ b/content/changelog/index.md @@ -4,6 +4,11 @@ title: Nathan Upchurch | Changelog structuredData: none --- # Changelog +* 2026-01-11 + * Added markdown parsing to [status](/status) entries. +* 2026-01-09 + * Updated [/wish](/wish). + * Updated [/links](/links). * 2026-01-07 * Added [status](/status) function. * 2026-01-01 diff --git a/content/links/index.md b/content/links/index.md index f673865..0475a2b 100644 --- a/content/links/index.md +++ b/content/links/index.md @@ -70,6 +70,7 @@ Here are some links to pages and resources that I believe are worth sharing. ## Eleventy resources * [11tyBundle](https://11tybundle.dev/)—Learn how others are making the most of 11ty, an exceptionally simple, flexible, and performant, open-source static site generator * [11tyCMS](https://11tycms.com/)—A local, serverless, dependable, and FLOSS CMS for websites made with Eleventy +* [Pagefind](https://pagefind.app/)—A fully static search library that runs after Hugo, Eleventy, Jekyll, Next, Astro, SvelteKit, or any other website framework ## Free/libre software * [Free Software Foundation](https://fsf.org)—A nonprofit with a worldwide mission to promote computer user freedom @@ -83,7 +84,7 @@ Here are some links to pages and resources that I believe are worth sharing. ## Health / Medical * [smelltrainingapp.com](https://smelltrainingapp.com/)—A free tool from Stockholms Universitet and and Karolinska Institutet to help patients with hyposmia or anosmia improve their sense of smell. -## Indieweb: discovery +## Indieweb / personal web: discovery * [blogroll.org](https://blogroll.org/)—Because blogs are the soul of the web * [blogs.hn](https://blogs.hn/)—A directory of tech sites, primarily sourced from HackerNews * [blogscroll.com](https://blogscroll.com/)—An open directory of personal sites and blogs @@ -96,10 +97,12 @@ Here are some links to pages and resources that I believe are worth sharing. * [Mydora](https://mydora.restorativland.org/)—A continuous streaming player that gives you a deep dive into the lost archives of Myspace Music * [ooh.directory](https://ooh.directory/)—A collection of 2,358 blogs about every topic * [searchmysite.net](https://searchmysite.net/)—Search real content by real people from their personal websites +* [Wiby](https://wiby.me/)—Search engine for the classic web -## Indieweb: resources +## Indieweb / personal web: resources * [90s Cursor Effects](https://tholman.com/cursor-effects/) * [blinkies.cafe](https://blinkies.cafe/)—Blinkie maker +* [Blot](https://blot.im/)—A tool that turns a folder into a website (paid) * [GIF Printer 2000](https://melonking.net/frames/pixelsea) * [GifCities](https://gifcities.org/)—The Geocities animated gif search from Internet Archive * [Gify Pet](https://melonking.net/frames/pet)—Who is there to watch over your site when you are gone? GifyPet will! @@ -107,8 +110,12 @@ Here are some links to pages and resources that I believe are worth sharing. * [Guestbooks](https://guestbooks.meadow.cafe/)—A free guestbook service for your website * [Hit counters](https://www.websiteout.net/counter.php) * [Nekoweb](https://nekoweb.org/)—A free static website hosting service +* [neocities.org](https://neocities.org/)—Create your own free website. +Unlimited creativity, zero ads. * [tamaNOTchi](https://tamanotchi.world/)—cute virtual pets you can customize, grow, and share on your blog or website * [tilde.fun](https://tilde.fun/)—A Linux machine on the internet where you can get a shell account +* [tildepages](https://tildepages.org/)—Free & fast web hosting +* [Tile-able website backgrounds](https://tiled-bg.blogspot.com/) ## Literature * [TypeLit.io](https://www.typelit.io/)—Test your typing online by practicing on your favorite literature @@ -231,3 +238,5 @@ Here are some links to pages and resources that I believe are worth sharing. * Microblogging * Search * VPN +## Random cool stuff +* [intertapes.net](https://intertapes.net/)—An updating collection of found cassette tapes from different locations. The audio fragments include: voice memos, field recordings, mixtapes, bootlegs and more. diff --git a/content/status/index.njk b/content/status/index.njk index a105224..0f88706 100644 --- a/content/status/index.njk +++ b/content/status/index.njk @@ -28,7 +28,7 @@ permalink: "/status/index.html" {% endif %} - {{ status.data.comment }}
+ {{ status.data.comment | markdownify | safe }}
{{ status.date | niceDate }} diff --git a/eleventy.config.js b/eleventy.config.js index 5ceffee..46bd52d 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -18,6 +18,33 @@ const figoptions = { }; export default async function (eleventyConfig) { + // Customize Markdown library settings: + let markdownItOptions = { + html: true, + typographer: true, + }; + + let mdLib = markdownIt(markdownItOptions); + + eleventyConfig.amendLibrary("md", (mdLib) => { + mdLib + .use(markdownItAnchor, { + permalink: markdownItAnchor.permalink.ariaHidden({ + placement: "after", + class: "header-anchor", + symbol: "#", + ariaHidden: false, + }), + level: [1, 2, 3, 4], + slugify: eleventyConfig.getFilter("slugify"), + }) + .use(markdownItFootnote) + .use(mdfigcaption, figoptions) + .use(markdownItContainer, "info"); + }); + + eleventyConfig.setLibrary("md", mdLib); + // Collections eleventyConfig.addCollection("galleryImages", (collection) => { const galleries = collection.getAll()[0].data.galleries; @@ -114,6 +141,10 @@ export default async function (eleventyConfig) { return `${abbr}`; }); + eleventyConfig.addFilter("markdownify", (markdownString) => { + return mdLib.renderInline(markdownString); + }); + // Shortcodes // Audio player eleventyConfig.addShortcode( @@ -181,38 +212,9 @@ export default async function (eleventyConfig) { ); }); - // Customize Markdown library settings: - let markdownItOptions = { - html: true, - typographer: true, - }; - - let mdLib = markdownIt(markdownItOptions); - - eleventyConfig.amendLibrary("md", (mdLib) => { - mdLib - .use(markdownItAnchor, { - permalink: markdownItAnchor.permalink.ariaHidden({ - placement: "after", - class: "header-anchor", - symbol: "#", - ariaHidden: false, - }), - level: [1, 2, 3, 4], - slugify: eleventyConfig.getFilter("slugify"), - }) - .use(markdownItFootnote) - .use(mdfigcaption, figoptions) - .use(markdownItContainer, "info"); - }); - - eleventyConfig.setLibrary("md", mdLib); - return { templateFormats: ["md", "njk", "html", "liquid"], - markdownTemplateEngine: "njk", - htmlTemplateEngine: "njk", dir: {