Add markdown parsing to status entries
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{{ status.data.comment }}<br />
|
{{ status.data.comment | markdownify | safe }}<br />
|
||||||
|
|
||||||
<span class="status-metadata">
|
<span class="status-metadata">
|
||||||
{{ status.date | niceDate }}
|
{{ status.date | niceDate }}
|
||||||
|
|||||||
@@ -4,6 +4,11 @@ title: Nathan Upchurch | Changelog
|
|||||||
structuredData: none
|
structuredData: none
|
||||||
---
|
---
|
||||||
# Changelog
|
# Changelog
|
||||||
|
* 2026-01-11
|
||||||
|
* Added markdown parsing to [status](/status) entries.
|
||||||
|
* 2026-01-09
|
||||||
|
* Updated [/wish](/wish).
|
||||||
|
* Updated [/links](/links).
|
||||||
* 2026-01-07
|
* 2026-01-07
|
||||||
* Added [status](/status) function.
|
* Added [status](/status) function.
|
||||||
* 2026-01-01
|
* 2026-01-01
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ Here are some links to pages and resources that I believe are worth sharing.
|
|||||||
## Eleventy resources
|
## 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
|
* [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
|
* [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/libre software
|
||||||
* [Free Software Foundation](https://fsf.org)—A nonprofit with a worldwide mission to promote computer user freedom
|
* [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
|
## 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.
|
* [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
|
* [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
|
* [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
|
* [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
|
* [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
|
* [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
|
* [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/)
|
* [90s Cursor Effects](https://tholman.com/cursor-effects/)
|
||||||
* [blinkies.cafe](https://blinkies.cafe/)—Blinkie maker
|
* [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)
|
* [GIF Printer 2000](https://melonking.net/frames/pixelsea)
|
||||||
* [GifCities](https://gifcities.org/)—The Geocities animated gif search from Internet Archive
|
* [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!
|
* [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
|
* [Guestbooks](https://guestbooks.meadow.cafe/)—A free guestbook service for your website
|
||||||
* [Hit counters](https://www.websiteout.net/counter.php)
|
* [Hit counters](https://www.websiteout.net/counter.php)
|
||||||
* [Nekoweb](https://nekoweb.org/)—A free static website hosting service
|
* [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
|
* [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
|
* [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
|
## Literature
|
||||||
* [TypeLit.io](https://www.typelit.io/)—Test your typing online by practicing on your favorite 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
|
* Microblogging
|
||||||
* Search
|
* Search
|
||||||
* VPN
|
* 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.
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ permalink: "/status/index.html"
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{{ status.data.comment }}<br />
|
{{ status.data.comment | markdownify | safe }}<br />
|
||||||
|
|
||||||
<span class="status-metadata">
|
<span class="status-metadata">
|
||||||
{{ status.date | niceDate }}
|
{{ status.date | niceDate }}
|
||||||
|
|||||||
@@ -18,6 +18,33 @@ const figoptions = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default async function (eleventyConfig) {
|
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
|
// Collections
|
||||||
eleventyConfig.addCollection("galleryImages", (collection) => {
|
eleventyConfig.addCollection("galleryImages", (collection) => {
|
||||||
const galleries = collection.getAll()[0].data.galleries;
|
const galleries = collection.getAll()[0].data.galleries;
|
||||||
@@ -114,6 +141,10 @@ export default async function (eleventyConfig) {
|
|||||||
return `<abbr title="${def}">${abbr}</abbr>`;
|
return `<abbr title="${def}">${abbr}</abbr>`;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("markdownify", (markdownString) => {
|
||||||
|
return mdLib.renderInline(markdownString);
|
||||||
|
});
|
||||||
|
|
||||||
// Shortcodes
|
// Shortcodes
|
||||||
// Audio player
|
// Audio player
|
||||||
eleventyConfig.addShortcode(
|
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 {
|
return {
|
||||||
templateFormats: ["md", "njk", "html", "liquid"],
|
templateFormats: ["md", "njk", "html", "liquid"],
|
||||||
|
|
||||||
markdownTemplateEngine: "njk",
|
markdownTemplateEngine: "njk",
|
||||||
|
|
||||||
htmlTemplateEngine: "njk",
|
htmlTemplateEngine: "njk",
|
||||||
|
|
||||||
dir: {
|
dir: {
|
||||||
|
|||||||
Reference in New Issue
Block a user