All checks were successful
Deploy on webserver / Build site and deploy on success (push) Successful in 4m17s
When linking to people, we need to deal with both attributions (not timed) and associations (time-constrained). Arguably, taxonomies are good only for the former, as they represent a simple, unqualified relation. A contributor who left a project does not stop being a contributor in a broader sense, they may get listed as a "former contributor" in a project page but they should be shown as they were in a publication page. Changes made here try to keep Contributor as a taxonomy, while tuning the Project (term) and Contributors (taxonomy) layouts to differentiate between past and present contributors. This is done based on details declared in the front matter. For *project*, a new custom template is created, borrowing from the existing contributor template. The loop showing links to other pages is repeated. First, we loop across current and past contributors declared explicitly in the page params (we first collect pages and then do a range sorting by "sortkey" param). Then, we do the standard term page loop over .Pages, only modified by adding a filter: where section is not contributors. For *all contributors*, a new custom template is created, using the Congo's taxonomy template and repeating iteration over the terms twice, with filtering. This means we rely on more information being included as page params: - `params.active` for contributor, representing their overall status with respect to TRR - `params.current_contributors` & `params.past_contributors` for project It's probably better to rely on an external process to implement the classification logic and pass the result it in simple terms, rather than implement it in Hugo. It also makes sense for an external process to set the contributors list in the project file (where it is being displayed) and the flag on a person record, because that process will likely have access to all the necessary associations when generating these pages. For the overall TRR "active" role, a person could be treated as inactive with all their project associations marked as ended (an edge case would be no project association, a decision likely depends on whether we want the person page to be more of a taxonomy listing or more of a project association listing). Regarding "all contributors": one issue with the approach is that the parameter is set on /page/ but the taxonomy lists /terms/. This means, in the absence of DE pages for contributors, we will have access to the "active" parameter in EN but not DE. This will lead to different listings. However, this is probably acceptable - several things are currently missing from the DE version. In any case, here we make some provisions for the DE implementation by using i18n strings in the template.
4 lines
243 B
TOML
4 lines
243 B
TOML
contributors = "contributors"
|
|
contributors_long = "The following individuals are contributing to this effort."
|
|
past_contributors = "past contributors"
|
|
past_contributors_long = "The following individuals contributed to this effort previously."
|