Author template
Reference for the author object — bylined writers and contributors linked to posts
The author template renders an individual author's public page on the live site. Each author has their own URL and own page, making bylines clickable destinations rather than just labels.
Location
The author template lives in templates/:
└── theme
└── templates
├── author.liquid // base template
└── author.featured.liquid // optional named variantsRouting support
Author data can appear on post and blog templates when posts include author relationships. There is not currently a standard default route equivalent to templates/person.liquid or templates/post.liquid for author detail pages, so treat templates/author.liquid as a project convention unless your site routes to it explicitly.
The author object
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier |
name | string | The author's display name (used in bylines) |
slug | string | URL-safe identifier; used to build the public URL |
bio | boolean | true if the rich-text bio has content |
bio_html | string | The rich-text bio rendered as HTML |
image | media | Profile image |
relativePath | string | Full URL path to the author's page |
posts | array | All posts written by this author |
meta.title | string | SEO title |
meta.description | string | SEO description |
meta.image | media | SEO/OG image |
createdAt | string | Creation timestamp |
updatedAt | string | Last update timestamp |
Authors may carry custom attributes if your site has defined them — check author.customAttributes.
Patterns
Author hero
<header class="author-hero">
{% if author.image %}
<img
src="{{ author.image | image_url: width: 240, height: 240, fit: 'cover' }}"
alt="{{ author.name }}"
class="author-hero__avatar"
>
{% endif %}
<h1 class="author-hero__name">{{ author.name }}</h1>
{% if author.bio %}
<div class="author-hero__bio rich-text">
{{ author.bio_html }}
</div>
{% endif %}
</header>List the author's posts
{% if author.posts %}
<section class="author-posts">
<h2>Posts by {{ author.name }}</h2>
<ul class="author-posts__list">
{% for post in author.posts %}
<li class="author-posts__item">
<a href="{{ post.relativePath }}">
<h3>{{ post.title }}</h3>
{% if post.description %}
<p>{{ post.description }}</p>
{% endif %}
<time datetime="{{ post.publishDate }}">
{{ post.publishDate | date: '%d %B %Y' }}
</time>
</a>
</li>
{% endfor %}
</ul>
</section>
{% endif %}Related
- Post template — author records are linked from posts as bylines.
- Template context — global functions and variables available alongside
author. - Templates — the broader template-writing workflow.