Posts are Loomwork’s date-driven content type for blogs, news, updates, and changelogs. They live in src/content/posts/ as MDX files and are automatically listed in reverse-chronological order at /posts/.


Getting Started

Create a new .mdx file in src/content/posts/ with the required frontmatter fields:

---
title: "My First Post"
description: "A short summary for the listing page."
date: 2026-04-13
---

Your content goes here.

Location: src/content/posts/{slug}.mdx URL: /posts/{slug}


Frontmatter Reference

FieldTypeRequiredDefaultDescription
titlestringYesPost title
descriptionstring (max 160)YesSummary shown on post cards
datedateYesPublication date, used for sorting
authorstringNo"Dan"Author name shown on individual posts
tagsstring[]No[]Category labels shown on cards and posts
hero_imagestringNoFull-width image above content
hero_altstringNo""Alt text for the hero image
draftbooleanNofalseWhen true, excluded from listing and routes
og_imagestringNoCustom Open Graph image for social sharing

Drafts

Set draft: true to exclude a post from the listing page and prevent its individual page from being generated. This is useful for work-in-progress content that isn’t ready for readers yet.

---
title: "Work in Progress"
description: "This post is not ready yet."
date: 2026-04-13
draft: true
---

Reading Time

Reading time is calculated automatically from the post body: word count divided by 230 words per minute, with a minimum of 1 minute. It appears on both post cards in the listing and on individual post pages. No configuration needed.


Tags

Tags are an array of strings. They appear as pills on post cards and on individual post pages. Keep them short and consistent across your posts.

---
title: "Tagged Post"
description: "Showing off tags."
date: 2026-04-13
tags: ["framework", "astro"]
---

Hero Images

Optional. Provide hero_image with a path and optionally hero_alt for accessibility. The image renders as a full-width banner above the post content, the same way hero images work on regular pages.

---
title: "Post with Hero"
description: "A post featuring a hero image."
date: 2026-04-13
hero_image: "/images/my-hero.jpg"
hero_alt: "A description of the image"
---

Quick Reference

FieldRequiredDefaultNotes
titleYesPost title
descriptionYesMax 160 chars
dateYesControls sort order
authorNo"Dan"Shown on post page
tagsNo[]Displayed as pills
hero_imageNoFull-width banner
draftNofalseHides from listing
og_imageNoSocial sharing image