diff --git a/default.nix b/default.nix index daad6a00..8cfe07fb 100644 --- a/default.nix +++ b/default.nix @@ -36,6 +36,15 @@ rec { packages = with pkgs; [ cmark npins + watchexec ]; + shellHook = '' + cat << EOF + For incremental rebuilds: + + echo watchexec -e nix "nix-build -A build" + firefox --new-tab file:///${toString ./.}/result/index.html + EOF + ''; }; } diff --git a/lib.nix b/lib.nix index 47961906..c564a1eb 100644 --- a/lib.nix +++ b/lib.nix @@ -8,6 +8,8 @@ rec { result // { override = new: let + # TODO: let overrides take the previous state as an argument + # base' = lib.recursiveUpdate base (new base); base' = lib.recursiveUpdate base new; result' = g base'; in diff --git a/structure/article.nix b/structure/article.nix index bf4c6ab2..7ab297a1 100644 --- a/structure/article.nix +++ b/structure/article.nix @@ -31,18 +31,23 @@ in html = { # TODO: make authors always a list head.meta.authors = if lib.isList config.author then config.author else [ config.author ]; + head.title.text = lib.mkForce "yeah"; body.content = lib.mkForce [ (cfg.menus.main.outputs.html config) { - section.heading = { - # TODO: i18n support - # TODO: structured dates - before = [{ p.content = "Published ${config.date}"; }]; - content = config.title; - after = [{ p.content = "Written by ${config.author}"; }]; + section = { + heading = { + # TODO: i18n support + # TODO: structured dates + before = [{ p.content = "Published ${config.date}"; }]; + content = config.title; + after = [{ p.content = "Written by ${config.author}"; }]; + }; + content = [ + (cfg.templates.html.markdown { inherit (config) name body; }) + ]; }; } - (cfg.templates.html.markdown { inherit (config) name body; }) ]; }; }); diff --git a/structure/page.nix b/structure/page.nix index 8d255c14..6c20719c 100644 --- a/structure/page.nix +++ b/structure/page.nix @@ -64,8 +64,14 @@ in }; body.content = [ (cfg.menus.main.outputs.html page) - { section.heading.content = page.title; } - (cfg.templates.html.markdown { inherit (page) name body; }) + { + section = { + heading.content = page.title; + content = [ + (cfg.templates.html.markdown { inherit (page) name body; }) + ]; + }; + } ]; }; });