Skip to content

Instantly share code, notes, and snippets.

@ravasthi
Created February 15, 2012 08:59
Show Gist options
  • Save ravasthi/1834570 to your computer and use it in GitHub Desktop.
Save ravasthi/1834570 to your computer and use it in GitHub Desktop.
Multiple authors on Jekyll
authors:
hanzou:
name: Hanzou Hattori
display_name: Hanzou
gravatar: c66919cb194f96c696c1da0c47354a6a
email: [email protected]
web: http://company.com
twitter: company
github: hhattori
jorgen:
name: Jörgen Mortensen
display_name: Jörgen
gravatar: 12e480a364a5c19214f99b4dfe9a11d5
email: [email protected]
web: http://company.com
twitter: company
github: jorgenm
{% assign author = site.authors[page.author] %}
<article class="entry">
<header>
<p class="date">
<span class="month">{{ page.date | date: '%b' }}</span>
<span class="day">{{ page.date | date: '%d' }}</span>
<span class="year">{{ page.date | date: '%Y' }}</span>
</p>
<h1>{{ page.title }}</h1>
<p class="byline">
by {{ author.display_name }}
</p> <!-- /.byline -->
</header>
</article>
---
layout: post
title: "Migrating from Tumblr to Jekyll"
author: jorgen
tags: [ Tumblr, Jekyll, tutorial ]
css_classes: [ permalink ]
---
@dustinlarimer
Copy link

Awesome! thank you!

@sqorandy
Copy link

This isn't working for me. I am using the exact set up, but cannot render a list of all of the authors. Has this changed? To clarify, I am referring to @keith regarding the for loop. Did that work for you?

@kukagg
Copy link

kukagg commented Sep 21, 2015

@sqorandy, did you figure out a solution?

@schiller
Copy link

This worked for me:

{% for author in site.authors %}
  {{ author[1].name }} -- {{ author[1].email }}
{% endfor %}

@polodev
Copy link

polodev commented May 9, 2018

How to all post by a author

@BlkPingu
Copy link

+1 @polodev i need this too. How to list all posts by author with multiple authors PER post. Like one post can have multiple authors ( like in scientific papers) while I want to list all authors in a list with the number of posts that they where writing on.

@inetbiz
Copy link

inetbiz commented Oct 5, 2019

@keith

@seufelipe just a basic jekyll for loop would probably do:

{% for author in site.authors %}
  {{ author.name }} -- {{ author.email }}
{% endfor %}

A simple loop did not work when I want to loop through all authors.

@joaroque
Copy link

joaroque commented Jan 17, 2021

Its Work!!

{% if page.author %}
  
  {% assign author = site.authors[page.author] %}
  <div class="author-desc">
    <h1>{{author.name}}</h1>
    <p>{{author.description}}</p> 

{% endif %}

@gouravkhunger
Copy link

For those who don't want to make author pages manually, or need pagination for the author pages, I made a plugin recently. Please check out jekyll-auto-authors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment