Manage Authorship with Bissetii in Hugo

Bissetii facilitates an easier way to organize your authorship list after years of experiences in Hugo. This way, you can properly credit all your authors and editors without needing too much manual updates.

How Bissetii Process Authorship

Bissetii organizes the authorship via front matter and a global data toml file. Both of them carries the data structure for every entity (be it person or company).

In a nutshell, Bissetii processes the list by:

  1. Populate the global authorship list.
  2. Append or Overwrite the authors from the page-specific authorship list.

Bissetii is strictly using Schema.Org data structure with exact keywords and definitions to populate the author(s). Currently, Bissetii recommends the following data structure (more compatible):

  1. Person - for living individual
  2. Organization - for company and group

Hence, an author data structure can be the following:

1
2
3
4
5
6
7
[JohnSmith]
"@type" = "Person"
"name" = "John Smith"

[SuccessTeam]
"@type" = "Organization"
"name" = "Success Team"

Setup Authorship

Bissetii faciliates 2 levels of authorship setup, allowing you to setup your authors' profile neatly.

Global-Level Authorship

Setting up global level authorship would have all the authors appear in every pages regardless of their existence in the Page-Specific level authorship. Bissetii processes them as Publishers and Creators in its page data structure.

To setup the global-level authorship settings, you create a data file located in data/ directory, with pathing such that:

pattern   :           data/creators.toml
directory :     docs/.data/
repo-docs :     docs/.data/creators.toml

Inside the data/creators.toml file, you declare each of the profile using his/her/its profile tag. An example is as follows:

1
2
3
4
5
6
7
8
# creators/authorship list
[JohnSmith]
"@type" = "Person"
"name" = "John Smith"

[SuccessTeam]
"@type" = "Organization"
"name" = "Success Team"

Page-Specific Authorship

Apart from setting the authorship list globally, you can also setup authorship list specifically for a page using the Hugo’s front matter facility. Bissetii uses this feature extensively and publishes this list as Authors and (appending or updating) Creators in its page data structure.

Should there be a same author appearing in both global-level and page-specific level authorship list, the page-specific one will be used, overwriting the global-level version.

To setup page-specific authorship list, you need to explicitly declare the creators table alongside with the profile tag. An example would be:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
+++
...
[creators.JohnSmith]
"@type" = "Person"
"name" = "John Smith"

[creators.SuccessTeam]
"@type" = "Organization"
"name" = "Success Team"
...
+++

Wrapping Up

That is all for managing authorship with Bissetii in Hugo. If you have any question to ask us directly, please feel free to raise it at our GitLab Issues Section. We will be happy to assist you.