Blog Authors & Tags

shipyard’s blog package supports authors and tags with auto-generated pages for each.


Authors

Inline Authors

Define authors directly in blog post frontmatter:

---
title: My Post
description: A blog post
date: 2026-01-15
authors:
  - name: Jane Doe
    title: Lead Developer
    url: https://janedoe.dev
    image_url: https://example.com/jane.jpg
---

Authors File

Für gemeinsam genutzte Autorendaten können Sie eine Datei authors.yml in Ihrem Blog-Verzeichnis erstellen:

# blog/authors.yml
jane:
  name: Jane Doe
  title: Lead Developer
  url: https://janedoe.dev
  image_url: https://example.com/jane.jpg
  email: jane@example.com

john:
  name: John Smith
  title: Technical Writer
  url: https://johnsmith.io
  image_url: https://example.com/john.jpg

Hinweis: String-Autoren-Referenzen (z.B. authors: jane) werden derzeit nicht aus authors.yml aufgelöst. Diese Funktion ist geplant, aber noch nicht implementiert. Verwenden Sie vorerst Inline-Autorenobjekte im Frontmatter wie im obigen Beispiel gezeigt, oder einfache Strings, die nur als Namen angezeigt werden.

Author Properties

PropertyTypeRequiredDescription
namestringYesAuthor’s display name
titlestringNoAuthor’s role or title
urlstringNoAuthor’s website URL
image_urlstringNoAuthor’s avatar image
emailstringNoAuthor’s email address

Author Pages

When authors are configured, shipyard auto-generates:

  • /blog/authors — Index of all authors
  • /blog/authors/[author] — Posts filtered by author

Tags

Using Tags

Add tags to blog post frontmatter:

---
title: TypeScript Tips
description: Useful TypeScript patterns
date: 2026-01-15
tags:
  - typescript
  - best-practices
---

Tags File

Für benutzerdefinierte Tag-Bezeichnungen, Beschreibungen und Permalinks erstellen Sie eine Datei tags.yml und konfigurieren sie in Ihrer Astro-Konfiguration:

# blog/tags.yml
typescript:
  label: TypeScript
  description: Posts about TypeScript programming
  permalink: /typescript

best-practices:
  label: Best Practices
  description: Recommended patterns and approaches

Dann konfigurieren Sie den Pfad in astro.config.mjs:

shipyardBlog({
  tagsMapPath: './blog/tags.yml',
  // ... other options
})

Hinweis: Die tags.yml-Datei wird nicht automatisch erkannt. Sie müssen tagsMapPath in Ihrer Konfiguration angeben, damit Tag-Metadaten geladen werden.

Tag Properties

PropertyTypeRequiredDescription
labelstringNoDisplay name (defaults to tag key)
descriptionstringNoTag description shown on tag page
permalinkstringNoCustom URL path for tag page

Tag Pages

shipyard auto-generates:

  • /blog/tags — Index of all tags with post counts
  • /blog/tags/[tag] — Posts filtered by tag

Feeds

Blog feeds are automatically generated and include author and tag metadata:

FeedURL
RSS 2.0/blog/rss.xml
Atom/blog/atom.xml
JSON Feed/blog/feed.json

Archive

The blog archive groups posts by year:

  • /blog/archive — Chronological listing of all posts grouped by year

The archive is generated automatically and requires no configuration.