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
---