{
html,
data,
lib,
...
}: let
software = data.software;
format = softwarePiece:
with html;
with softwarePiece;
{
inherit id title abstract;
url = URL;
}
// (let
authorsOther =
lib.remove data.basics.name
(builtins.map (author: "${author.given} ${author.family}") author);
in
lib.optionalAttrs (authorsOther != []) {
authors = "With ${lib.concatStringsSep ", " authorsOther}";
});
in {
title = "Software";
priority = 15;
body = with html;
dl (for (sort.byPath ["title"] software) (softwarePiece: let
formatted = format softwarePiece;
in
with formatted; [
(dt {id = "Software#${id}";} (href {target = "_blank";} url title))
(dd abstract)
]));
}