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,urlrole- Simple role labelrole_display- Pre-computed display stringguest,active,defaultsocial- Map of platform -> URLcontributions- CReDiT taxonomy rolesdetails- 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
---
Editorial credits and revision history #
The default byline keeps writers prominent and groups editing/reviewing roles below them. The first editor is displayed by name; additional editors are stacked behind a disclosure with all contributor names and roles.
Use Editorial history to show recorded reviews, GitHub file diffs, and lazily loaded inline source changes. Humans and agents can use the editorial authoring commands to commit selected edits and record their attribution automatically.