2023-12-31 00:24:48 +00:00
|
|
|
let
|
|
|
|
md = import ../nixite/md.nix;
|
|
|
|
elems = import ../nixite/elems.nix;
|
|
|
|
it = import ./it.nix;
|
2023-12-31 21:33:42 +00:00
|
|
|
in with md; [
|
|
|
|
(assert heading "# heading 1" == [ "#" "heading 1" ]; "echo gets heading 1")
|
|
|
|
(assert heading "## subheading" == [ "##" "subheading" ];
|
|
|
|
"echo gets heading 2")
|
|
|
|
(assert heading "some paragraph" == null; "echo paragraph is heading 0")
|
2023-12-31 00:24:48 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
#(assert mdBlock "# heading 1" == elems.h 1 "heading 1"; "echo makes h1 tag")
|
|
|
|
#(assert mdBlock "## subheading" == elems.h 2 "subheading"; "echo makes h2 tag")
|
|
|
|
#(assert mdBlock "some paragraph" == elems.p {} "some paragraph"; "echo makes p tag")
|
2023-12-31 00:24:48 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "processes md block" {
|
|
|
|
actual = readMd ''
|
|
|
|
# foo bar
|
2023-12-31 00:24:48 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
lorem ipsum
|
|
|
|
'';
|
|
|
|
expected = [
|
|
|
|
(elems.H 1 "foo bar")
|
|
|
|
""
|
|
|
|
(elems.p { } ''
|
2023-12-31 00:24:48 +00:00
|
|
|
lorem ipsum
|
2023-12-31 21:33:42 +00:00
|
|
|
'')
|
|
|
|
];
|
|
|
|
asString = true;
|
|
|
|
})
|
2023-12-31 10:33:05 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "can fix file appendixes" {
|
|
|
|
actual = fixAppendix "index.md";
|
|
|
|
expected = "index.html";
|
|
|
|
})
|
2023-12-31 10:33:05 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "recursively reads dir" {
|
|
|
|
actual = recReadMd ./blog;
|
|
|
|
expected = {
|
|
|
|
"index.md" = mdToPage ./blog/index.md;
|
|
|
|
"dir" = { "index.md" = mdToPage ./blog/dir/index.md; };
|
|
|
|
};
|
|
|
|
asJSON = true;
|
|
|
|
})
|
2023-12-31 10:33:05 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "recursively fixes filename" {
|
|
|
|
actual = recFixAppendix {
|
|
|
|
"index.md" = "something";
|
|
|
|
dir = { "index.md" = "something else"; };
|
|
|
|
};
|
|
|
|
expected = {
|
|
|
|
"index.html" = "something";
|
|
|
|
dir = { "index.html" = "something else"; };
|
|
|
|
};
|
|
|
|
})
|
2023-12-31 10:33:05 +00:00
|
|
|
|
2023-12-31 21:33:42 +00:00
|
|
|
(it "recursively translates md to html" {
|
|
|
|
actual = builtins.toJSON (readDir ./blog);
|
|
|
|
expected = builtins.toJSON {
|
|
|
|
"index.html" = mdToPage ./blog/index.md;
|
|
|
|
"dir" = { "index.html" = mdToPage ./blog/dir/index.md; };
|
|
|
|
};
|
|
|
|
})
|
|
|
|
]
|