From 75ebf874f06904fced4e4d716d93a484533fc9ce Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 4 Sep 2025 21:02:57 +0100 Subject: [PATCH] Add `build` and `build-adoc` scripts --- modules/scripts/build-adoc.nix | 62 ++++++++++++++++++++++++++++++++++ modules/scripts/build.nix | 16 +++++++++ 2 files changed, 78 insertions(+) create mode 100644 modules/scripts/build-adoc.nix create mode 100644 modules/scripts/build.nix diff --git a/modules/scripts/build-adoc.nix b/modules/scripts/build-adoc.nix new file mode 100644 index 00000000..703adf51 --- /dev/null +++ b/modules/scripts/build-adoc.nix @@ -0,0 +1,62 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "build-adoc"; + + runtimeInputs = with pkgs; [ + asciidoctor-with-extensions + ]; + + excludeShellChecks = [ "SC2034" ]; + + text = '' + ls book + + echo "" + + date=$(date '+%Y-%m-%d %H:%M:%S') + + echo "The current date is $date." + + pwd=$(pwd) + parent=$(basename "$(dirname "$pwd")") + name=$(basename "$pwd") + + echo "The parent directory is $parent." + echo "The current directory is $name." + + echo "" + echo "Generating the HTML..." + asciidoctor \ + -D book \ + -a "date=$date" \ + -o index.html \ + ./book/index.adoc + + echo "" + echo "Generating the EPUB..." + asciidoctor-epub3 \ + -D book \ + -a "date=$date" \ + -o "$parent-$name.epub" \ + ./book/index.adoc + + echo "" + echo "Generating the PDF..." + asciidoctor-pdf \ + -D book \ + -a "date=$date" \ + -o "$parent-$name.pdf" \ + ./book/index.adoc + + echo "" + + ls book + ''; + }) + ]; + }; +} diff --git a/modules/scripts/build.nix b/modules/scripts/build.nix new file mode 100644 index 00000000..c04f4664 --- /dev/null +++ b/modules/scripts/build.nix @@ -0,0 +1,16 @@ +{ + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "build"; + + text = '' + test -r book/index.adoc && exec build-adoc "$@" + test -x build && exec ./build "$@" + ''; + }) + ]; + }; +}