Add markdown parsing to status entries

This commit is contained in:
2026-01-12 11:14:24 -06:00
parent d948f3f52c
commit 76472ada91
5 changed files with 49 additions and 33 deletions

View File

@@ -22,7 +22,7 @@
{% endif %}
</span>
{{ status.data.comment }}<br />
{{ status.data.comment | markdownify | safe }}<br />
<span class="status-metadata">
{{ status.date | niceDate }}

View File

@@ -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

View File

@@ -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.

View File

@@ -28,7 +28,7 @@ permalink: "/status/index.html"
{% endif %}
</span>
{{ status.data.comment }}<br />
{{ status.data.comment | markdownify | safe }}<br />
<span class="status-metadata">
{{ status.date | niceDate }}

View File

@@ -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 title="${def}">${abbr}</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: {