This does a two-step process for processing metadata: first, all
projects are fetched, roles are inlined, and projects are
cached. Then, when processing Person records, projects are injected
from cache (with roles already inlined -- this is a workaround for
inline not supporting inlined objects). This relies on
orinoco/query-research-information#6
With the role labels / names available, these can be accessed in the
person page template.
This is an (incomplete) demonstration on how links from Person to
Project(s) can be generated from the metadata, at the Jinja templating
level, before we get to any Hugo machinery.
This is done by "injecting" relevant Project records into the Person
records using the QRI tooling, then looping over projects and
filtering their associations with Jinja's selectattr to get the
Person's roles.
Having access to all the metadata (or the Association class
specifically) allows us to show detailed information, such as roles or
start / end times of an association (also allowing are several
associations with the same project).
What's mostly missing is: adding links (should be easy), getting role
names (requires recursive inlining or some other clever trick) and
whitespace control.