Markata-go supports multiple authors with rich metadata including roles, bios, avatars, and social links. This guide covers how to configure authors and reference them in your posts.

Quick Start #

1. Configure Authors #

Add authors to your markata-go.toml:

[markata-go.authors]

[markata-go.authors.authors.waylon]
name = "Waylon Walker"
role = "author"
url = "https://waylonwalker.com"
avatar = "/images/waylon.jpg"
bio = "Python and Go developer"
active = true
default = true

[markata-go.authors.authors.guest]
name = "Guest Writer"
role = "editor"
bio = "Occasional contributor"
guest = true
active = true

2. Reference Authors in Posts #

---
title: My Post
authors:
  - waylon
  - guest
---

Author Configuration #

Author Fields #

Field Type Description
name string Required - Display name
role string Simple role label (author, editor, etc.)
bio string Short biography
avatar string Avatar image URL or path
url string Personal website URL
email string Contact email
social map Social media links
default bool Default author for posts without explicit authors
guest bool Guest author flag
active bool Whether author is currently active

Default Author #

Set default = true on one author. Posts without an explicit authors frontmatter field will automatically use this author:

[markata-go.authors.authors.waylon]
name = "Waylon Walker"
default = true

Author Pages #

Generate individual author profile pages:

[markata-go.authors]
generate_pages = true
url_pattern = "/authors/{id}/"

Frontmatter #

Simple Format #

Reference authors by ID:

---
title: My Post
authors:
  - waylon
  - guest
---

Extended Format #

Specify per-post roles and details:

---
title: Collaborative Post
authors:
  - id: waylon
    role: author
    details: wrote the introduction
  - id: codex
    role: pair programmer
    details: wrote the code examples
---

Key Aliases #

Use convenient aliases for common keys:

---
authors:
  - name: waylon     # same as id: waylon
    title: author    # same as role: author
    description: wrote it  # same as details: ...
---

Legacy Format #

The older single-author format still works:

---
title: My Post
author: waylon
---

Template Access #

In templates, access author data:

{% for author in post.author_objects %}
  <span>{{ author.name }}</span>
  {% if author.role %}({{ author.role }}){% endif %}
{% endfor %}

Available author properties:

  • id, name, bio, email, avatar, url
  • role - Simple role label
  • role_display - Pre-computed display string
  • guest, active, default
  • social - Map of platform -> URL
  • contributions - CReDiT taxonomy roles
  • details - Per-post contribution details

Role System #

Simple Roles #

Use the role field for blog-friendly roles:

[markata-go.authors.authors.waylon]
name = "Waylon Walker"
role = "author"

Common roles: author, editor, reviewer, photographer, illustrator, translator

CReDiT Roles #

For academic-style contribution tracking, use contributions:

[markata-go.authors.authors.waylon]
name = "Waylon Walker"
contributions = ["Conceptualization", "Software", "Writing"]

Examples #

Multiple Authors with Different Roles #

---
title: Building a CLI Tool
authors:
  - id: waylon
    role: author
    details: wrote the core implementation
  - id: kimmi
    role: reviewer
    details: reviewed and tested
---

Mixed Author Types #

---
title: Guest Post
authors:
  - waylon  # uses default role from config
  - id: guest-writer
    role: guest author
    details: wrote this guest post
---