Clone
16
Home
Nathan Upchurch edited this page 2025-02-06 11:20:54 -05:00

Wiki Home

About

Planned Features

  • Image gallery
  • Audio Embedding
  • Blockquote styling
  • /uses
  • Blogroll
  • Not by AI badge on posts
  • Résumé

Documentation

Frontmatter

  • structuredData: none - Disables "BlogPosting" schema JSON, Open Graph, and Twitter Card metadata, which is by default on for all templates with a title.

Metadata

Features configured in metadata.js:

/me

Links at /me are configured in metadata.js like so:

socialLinks: [
	{
		title: "My Blog",
		linkURL: "https://nathanupchurch.com",
		linkDisplay: "My Blog",
		iconURL: "/img/logo.svg"
	}
]

Any links added here will render on the /me page.

Webrings

Webrings configured in metadata.js will display in the footer of most pages beneath the copyright notice:

webrings: [
	{
		name: "Fediring",
		ringURL: "https://fediring.net/",
		previousURL: "https://fediring.net/previous?host=nathanupchurch.com",
		nextURL: "https://fediring.net/next?host=nathanupchurch.com"
	}
]

Mastodon Integration

Integrate Mastodon toots into blog posts.

Embed a toot from Mastodon using the toot shortcode:

{% toot "instance", "tootID" %}

For example:

{% toot "lounge.town", "112672230453089386" %}

Embedded toots are live, so if the toot or instance is not reachable, the toot will not be shown on the page. I haven't built any error handling for this yet.

Simply add a toot ID to a post's frontmatter using the mastodon_id key in order to enable a link to discuss on Mastodon:

mastodon_id: "112409293978326719"

Other Special Features

Special or uncommon features of this blog that aren't configured in metadata.js.

Embed audio

Embed audio using the custom "audio" shortcode:

{% audio "Title'", "Artist", "audioFile.mp3", "coverImage.webp" %}

Image Galleries

Specify galleries in _/data/galleries.js.

Quizzes

Quizzes can be specified using markdown files in /content/quizzes. The structure should look like this:

---
title: ""
description: ""
date: 2025-02-04
imageURL: ""
imageAlt: ""
consequences:
 - title: ""
   points: 0
   spiel: ""
   image: ""
   imageAlt: ""
questions:
 - title: ""
   image: ""
   imageAlt: ""
   imageCaption: ""
   answers:
   - name: ""
     points: 0
---
This is a great quiz that I'm sure you'll have fun taking. Let me tell you all about it…