diff --git a/packages/scripts/default.nix b/packages/scripts/default.nix index b71520a..2c41dbf 100644 --- a/packages/scripts/default.nix +++ b/packages/scripts/default.nix @@ -92,6 +92,11 @@ in name = "nix-git"; }; + notetags = makeScript { + src = ./notetags.sh; + name = "notetags"; + }; + bvg = pkgs.callPackage ./bvg.nix {}; nav = pkgs.callPackage ./nav.nix {}; } diff --git a/packages/scripts/notetags.sh b/packages/scripts/notetags.sh new file mode 100755 index 0000000..3dc73ee --- /dev/null +++ b/packages/scripts/notetags.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# inspired by https://github.com/connermcd/bin/blob/1d38cb98812906d8b95dc6e51e1149e29261617d/notetags + +cd "$HOME/notes/" || exit + +[[ -f tags ]] && rm tags +grep -r 'tags:' ./* | while read -r line; do + file=$(echo "$line" | cut -d: -f1) + unparsed_tags=$(echo "$line" | cut -d: -f3) # + tags=$(echo "$unparsed_tags" | sed -e 's/tags: *//g' -e 's/[][,]//g') + for tag in $tags; do + echo "$tag $file /^$unparsed_tags$/;" >> tags + done +done