Files
nixarr/mkPandoc.nix
T
rasmus-kirk 9ae741f688 updated docs
2024-02-22 15:04:03 +01:00

44 lines
1.2 KiB
Nix

{pkgs, ...}:
pkgs.writeShellApplication {
name = "my-script";
runtimeInputs = with pkgs; [ pandoc ];
text = ''
tmpdir=$(mktemp -d)
# Code blocks to nix code blocks
# shellcheck disable=SC2016
awk '
/^```$/ {
if (!block) {
print "```nix"; # Start of a code block
block = 1;
} else {
print "```"; # End of a code block
block = 0;
}
next;
}
{ print } # Print all lines, including those inside code blocks
' block=0 result/nixos.md > "$tmpdir"/1.md
# inline code "blocks" to nix code blocks
# shellcheck disable=SC2016
sed '/^`[^`]*`$/s/`\(.*\)`/```nix\n\1\n```/g' "$tmpdir"/1.md > "$tmpdir"/2.md
# Remove bottom util-nixarr options
sed '/util-nixarr/,$d' "$tmpdir"/2.md > "$tmpdir"/done.md
mkdir -p out
cp docs/styling/style.css out
pandoc \
--standalone \
--highlight-style docs/styling/gruvbox.theme \
--metadata title="Nixarr - Option Documentation" \
--metadata date="$(date -u '+%Y-%m-%d - %H:%M:%S %Z')" \
--css=style.css \
-V lang=en \
-V --mathjax \
-f markdown+smart \
-o out/index.html \
"$tmpdir"/done.md
'';
}