Building with HugoBlox

Authors & Team Members

Create author profiles with bios, social links, and avatars. Attribute posts to authors and optionally publish dedicated author pages.

Create author profiles to attribute content (like blog posts and publications) to specific people. Authors can have bios, social links, avatars, and optionally their own dedicated profile pages.

Use Ownable CMS

The easiest way to manage authors is with Ownable CMS—our VS Code extension. Add, edit, and remove authors visually without touching YAML files.

Install Ownable CMS →

🎬 Video: Managing authors with Ownable CMS (coming soon)

Manual Setup

File Structure

Authors are stored as YAML files with matching avatar images:

jane-doe.yaml # Author profile (slug = jane-doe)
john-smith.yaml
jane-doe.jpg # Avatar (same filename as profile)
john-smith.png

The slug (filename without extension) must be lowercase with hyphens instead of spaces. This slug is used to reference the author in content front matter.


Creating an Author

  1. Create the profile file

    Create data/authors/<slug>.yaml:

    # data/authors/jane-doe.yaml
    
    # Display name
    title: Dr. Jane Doe
    
    # Role/position
    role: Associate Professor
    
    # Short bio (supports Markdown)
    bio: |
      Researcher in machine learning and computational biology.
      Previously at MIT and Google Brain.
    
    # Organization(s)
    organizations:
      - name: Stanford University
        url: https://stanford.edu
    
    # Social/contact links
    social:
      - icon: envelope
        link: mailto:[email protected]
      - icon: brands/github
        link: https://github.com/janedoe
      - icon: brands/twitter
        link: https://twitter.com/janedoe
      - icon: academicons/google-scholar
        link: https://scholar.google.com/citations?user=...
      - icon: brands/linkedin
        link: https://linkedin.com/in/janedoe
    
    # Education (optional)
    education:
      - course: PhD in Computer Science
        institution: MIT
        year: 2018
      - course: BSc in Mathematics
        institution: UC Berkeley
        year: 2013
    
    # Interests (optional)
    interests:
      - Machine Learning
      - Computational Biology
      - Open Science
  2. Add an avatar image

    Upload a photo to assets/media/authors/<slug>.jpg (or .png).

    The filename must match the profile slug exactly.

  3. Reference in content

    Use the slug in your content's front matter:

    ---
    title: My Research Paper
    authors:
      - jane-doe    # References data/authors/jane-doe.yaml
      - john-smith
    ---

Use the pack/icon-name syntax for social links. See the Icon Reference for all available packs.

social:
  - icon: envelope              # Hero icon (default pack)
    link: mailto:...
  - icon: brands/github         # Brand icons
    link: https://github.com/...
  - icon: academicons/orcid     # Academic icons
    link: https://orcid.org/...

Publishing Author Pages

By default, each author gets their own profile page at /authors/<slug>/. You can control this behavior:

For personal sites where you don't need separate author pages (e.g., the homepage is already your profile), create this file:

# content/authors/_index.md
---
# Unpublish author profile pages
build:
  render: never
cascade:
  build:
    render: never
    list: always
---

Authors will still work for attribution—they just won't have dedicated pages.

To publish author profile pages (e.g., for team or lab sites), simply delete the content/authors/_index.md file if it exists.

Each author will get a page at /authors/<slug>/ showing their bio, social links, and authored content.


Multilingual Authors

For multilingual sites, you can translate author profiles so that names, bios, and roles appear in the reader's language.

How It Works

Place translated author files in language-specific subdirectories under data/. Only include the fields you want to translate — everything else is inherited from the default profile.

jane-doe.yaml # Default profile (all fields)
jane-doe.yaml # French overrides (translated fields only)
jane-doe.yaml # Chinese overrides

Example Translation

The French override file only needs the translatable fields:

# data/fr/authors/jane-doe.yaml

title: Dr. Jane Doe
role: Professeure associée
bio: |
  Chercheuse en apprentissage automatique et biologie computationnelle.
  Précédemment au MIT et Google Brain.

Non-translated fields like social, education, interests, and avatar are automatically inherited from the default data/authors/jane-doe.yaml.

The name submap is deep-merged, so you can translate individual name fields (e.g., name.display) without losing the others.


Quick Reference

FieldTypeDescription
titlestringDisplay name (required)
rolestringJob title or role
biostringShort biography (Markdown supported)
organizationslistAffiliations with name and url
sociallistSocial links with icon and link
educationlistDegrees with course, institution, year
interestslistResearch interests or skills

For team sites, consider creating an /authors/ listing page to showcase all team members.

Was this page helpful?

From the makers of

© 2026 Lore Labs.

On this page