create

Create Authors

Author Management Guide for Snowlake Jekyll Theme

Overview

The Snowlake Jekyll Theme supports a robust author management system using Jekyll’s collections feature. This guide will walk you through creating, configuring, and displaying author profiles.

1. Author Collection Configuration

Configuration in _config.yml

collections:
  authors:
    output: true

Key Points:

  • output: true generates individual pages for each author
  • Enables dynamic author profile generation

2. Creating Author Files

File Location

Create author files in the _authors directory with the following naming convention:

  • Filename: firstname-lastname.md
  • Example: john-doe.md

Author File Structure

---
# Mandatory Fields
name: "John Doe"
email: "[email protected]"
avatar: "/assets/images/authors/john-doe.jpg"

# Optional Fields
bio: "Software engineer and tech enthusiast"
website: "https://johndoe.com"
twitter: "@johndoe"
linkedin: "johndoe"
github: "johndoe"

# Social Media Links (Optional)
social:
  - platform: "twitter"
    url: "https://twitter.com/johndoe"
  - platform: "linkedin"
    url: "https://linkedin.com/in/johndoe"

# Expertise Tags
tags:
  - "web development"
  - "javascript"
  - "design"

# Publication Details
publications:
  - title: "Advanced Web Design"
    year: 2022
    publisher: "Tech Books Inc."

# Speaking Engagements
speaking:
  - event: "Web Summit"
    year: 2021
    location: "Lisbon, Portugal"
---

## About Me

Write a detailed markdown biography here. You can use **rich text formatting**, include *italics*, and even add code snippets.

3. Author Page Template

Create a layout for author pages in _layouts/author.html:

---
layout: default
---
<div class="author-profile">
  <img src="{{ page.avatar }}" alt="{{ page.name }}" class="author-avatar">
  
  <h1>{{ page.name }}</h1>
  
  <div class="author-bio">
    {{ page.bio }}
  </div>
  
  <div class="author-social-links">
    {% for social in page.social %}
      <a href="{{ social.url }}" target="_blank">
        {{ social.platform }}
      </a>
    {% endfor %}
  </div>
  
  <div class="author-content">
    {{ content }}
  </div>
  
  {% if page.publications %}
    <h2>Publications</h2>
    <ul>
      {% for pub in page.publications %}
        <li>{{ pub.title }} ({{ pub.year }}) - {{ pub.publisher }}</li>
      {% endfor %}
    </ul>
  {% endif %}
  
  {% if page.speaking %}
    <h2>Speaking Engagements</h2>
    <ul>
      {% for talk in page.speaking %}
        <li>{{ talk.event }} ({{ talk.year }}) - {{ talk.location }}</li>
      {% endfor %}
    </ul>
  {% endif %}
</div>

4. Displaying Authors in Posts

In Post Front Matter

---
title: "My Awesome Blog Post"
author: john-doe
---

Author Display Snippet

{% assign author = site.authors | where: "name", page.author | first %}
{% if author %}
  <div class="post-author">
    <img src="{{ author.avatar }}" alt="{{ author.name }}">
    <p>{{ author.bio }}</p>
    <a href="{{ author.url }}">More by {{ author.name }}</a>
  </div>
{% endif %}

5. Author Listing Page

Create authors.html in the root directory:

---
layout: default
title: Our Authors
permalink: /authors/
---
<div class="authors-grid">
  {% for author in site.authors %}
    <div class="author-card">
      <img src="{{ author.avatar }}" alt="{{ author.name }}">
      <h3>{{ author.name }}</h3>
      <p>{{ author.bio }}</p>
      <a href="{{ author.url }}">View Profile</a>
    </div>
  {% endfor %}
</div>

Best Practices

  1. Use consistent avatar image sizes
  2. Write concise, engaging author bios
  3. Include professional social media links
  4. Keep author files well-organized
  5. Use meaningful tags and categories

Performance Considerations

  • Optimize avatar images
  • Limit the number of author details
  • Use lazy loading for images
  • Cache author pages

Troubleshooting

  • Ensure unique author filenames
  • Validate front matter syntax
  • Check avatar image paths
  • Verify collection configuration

Version Compatibility

Tested with:

  • Jekyll 4.x
  • Liquid 4.x

Example Authors

  1. Sample Author 1
  2. Sample Author 2