diff --git a/prune-orphans.sh b/prune-orphans.sh index cad84be..b5562fa 100755 --- a/prune-orphans.sh +++ b/prune-orphans.sh @@ -1,20 +1,24 @@ #!/usr/bin/env bash -# Remove content/zettels/*.md whose org source in ~/Cloud/brain no longer exists. +# Remove content/
/*.md (zettels and bibliography) whose org source in ~/Cloud/brain no longer exists. # Dry run by default; pass --delete to actually remove files. set -euo pipefail brain=~/Cloud/brain -zet="$(cd "$(dirname "$0")" && pwd)/content/zettels" +content="$(cd "$(dirname "$0")" && pwd)/content" +sections=(zettels book phdthesis inbook techreport article inproceedings websites) count=0 -for md in "$zet"/*.md; do - name=$(basename "$md" .md) - [[ $name == _index ]] && continue - if [[ ! -f "$brain/$name.org" ]]; then - echo "orphan: $md" - [[ ${1:-} == --delete ]] && rm "$md" - count=$((count + 1)) - fi +for section in "${sections[@]}"; do + for md in "$content/$section"/*.md; do + [[ -e $md ]] || continue + name=$(basename "$md" .md) + [[ $name == _index ]] && continue + if [[ ! -f "$brain/$name.org" ]]; then + echo "orphan: $md" + [[ ${1:-} == --delete ]] && rm "$md" + count=$((count + 1)) + fi + done done if [[ $count -eq 0 ]]; then