{ config, lib, ... }:
let
inherit (config) pages;
in
{
imports = with lib.fileset; toList (difference (fileFilter ({ hasExt, ... }: hasExt "nix") ./.) ./default.nix);
collections.news.type = config.content-types.article;
pages.index = {
title = "Fediversity";
locations = [
"index.html"
];
description = "Fediversity web site";
summary = ''
This web site hosts up-to-date information about the the NGI Zero Fediversity project.
'';
body = ''
# Welcome to the Fediversity project
${pages.fediversity.summary}
[Learn more about Fediversity](${pages.fediversity})
# Fediversity grants
${pages.grants.summary}
[Learn more about Fediversity grants](${pages.grants})
# Consortium
The Consortium behind the Fediversity project is a cooperation between NLnet, Open Internet Discourse Foundation, NORDUnet and Tweag.
${toString (map (partner: ''
## ${partner.title}
${partner.description}
[Read more about ${partner.title}](${partner})
'') (with pages; [ nlnet oid tweag nordunet ]))}
# News
${
sorted = with lib; reverseList (sortOn (entry: entry.date) config.collections.news.entry);
lib.join "\n" (map (article: ''
- ${article.date} [${article.title}](${article})
'') sorted)
}
};