add TODOs

This commit is contained in:
Valentin Gagarin 2024-11-13 15:24:41 +01:00 committed by Valentin Gagarin
parent 0383c9ce3b
commit 2d7cc5c4cb

View file

@ -46,6 +46,11 @@ let
''; '';
type = with types; nonEmptyListOf str; type = with types; nonEmptyListOf str;
}; };
link = mkOption {
description = "Helper function for transparent linking to other pages";
type = with types; functionTo str;
default = target: "TODO: compute the relative path based on `locations`";
};
outPath = mkOption { outPath = mkOption {
description = '' description = ''
Location of the page, used for transparently creating links Location of the page, used for transparently creating links
@ -128,6 +133,7 @@ in
''; '';
type = with types; attrsOf (functionTo (functionTo options.files.type)); type = with types; attrsOf (functionTo (functionTo options.files.type));
}; };
# TODO: split out templates and all related helper junk into `../presentation`
config.templates = config.templates =
let let
commonmark = name: markdown: pkgs.runCommand "${name}.html" commonmark = name: markdown: pkgs.runCommand "${name}.html"
@ -140,6 +146,9 @@ in
{ {
page = lib.mkDefault (config: page: { page = lib.mkDefault (config: page: {
# TODO: create static redirects from `tail page.locations` # TODO: create static redirects from `tail page.locations`
# TODO: reconsider using `page.outPath` and what to put into `locations`.
# maybe we can avoid having ".html" suffixes there.
# since templates can output multiple files, `html` is merely one of many things we *could* produce.
${page.outPath} = builtins.toFile "${page.name}.html" '' ${page.outPath} = builtins.toFile "${page.name}.html" ''
<html> <html>
<head> <head>