Skip to content

Add ability to sort speakers (and maybe also organizers) on pages #9826

@mattstratton

Description

@mattstratton

Folks have asked for the ability to adjust the order of speakers on the Speakers page. I think I can look into providing this ability in the theme refactor.

First guess is that we could do it one of two ways:

Frontmatter on speakers.md

In this case, there is a new, optional frontmatter element added to the speakers.md content file. This would list all the speakers in the order preferred.

If this element is detected, instead of spinning through files to find the speakers, it would only use this list, but in that order. The downside of this is that if someone sets this, but add speakers later and forget to update it, they won't show up. But since this is an optional thing and I feel like we would kind of "not advertise" it, most folks won't use it anyway.

So it would look like this:

+++
Title = "Speakers"
Type = "speakers"
Description = "Speakers for devopsdays Chicago 2020"
Speakers = ["michael-bluth", "tobias-fuenke", "lindsay-bluth", "george-michael-bluth"]
+++

(for organizers, a similar frontmatter element of Organizers = ["",""] would be added to the contact.md file for the event)

Frontmatter in speakers/firstname-lastname.md

For this method, each speaker (or organizer[1]) file would have an optional "sort" parameter in their frontmatter, and when we range to get those pages, we sort based on that value.

So it looks like this

+++
Title = "Jeff Smith"
Twitter = "DarkAndNerdy"
image = "jeff-smith.jpg"
type = "speaker"
linktitle = "jeff-smith"
website = "http://www.allthingsdork.com"
Sort = 5
+++

I like this one a lot less, as it's much harder to reason about.


[1] - in the theme refactor, every organizer has a file like organizers/firstname-lastname.md instead of being in a data yaml file, fyi

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions