mirror of
https://github.com/Matir/skel.git
synced 2026-05-26 05:29:09 -07:00
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
# QUARTZ_DIR search logic
|
|
if [ -z "${QUARTZ_DIR:-}" ]; then
|
|
if [ -f "quartz.config.ts" ]; then
|
|
QUARTZ_DIR="$PWD"
|
|
elif [ -d "$HOME/Personal/notes-quartz" ]; then
|
|
QUARTZ_DIR="$HOME/Personal/notes-quartz"
|
|
elif [ -d "$HOME/Projects/notes-quartz" ]; then
|
|
QUARTZ_DIR="$HOME/Projects/notes-quartz"
|
|
else
|
|
echo "Error: QUARTZ_DIR could not be found." >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -d "$QUARTZ_DIR" ]; then
|
|
echo "Error: QUARTZ_DIR '$QUARTZ_DIR' is not a directory." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# NOTES_DIR search logic
|
|
PARSE_NOTES_DIR=""
|
|
# Use a copy of args to find -d/--directory
|
|
ARGS=("$@")
|
|
for ((i=0; i<${#ARGS[@]}; i++)); do
|
|
if [[ "${ARGS[i]}" == "-d" || "${ARGS[i]}" == "--directory" ]]; then
|
|
if [[ $((i+1)) -lt ${#ARGS[@]} ]]; then
|
|
PARSE_NOTES_DIR="${ARGS[i+1]}"
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ -n "$PARSE_NOTES_DIR" ]; then
|
|
NOTES_DIR="$PARSE_NOTES_DIR"
|
|
elif [ -z "${NOTES_DIR:-}" ]; then
|
|
if [ -d "$HOME/Notes" ]; then
|
|
NOTES_DIR="$HOME/Notes"
|
|
elif [ -d "$HOME/Personal/notes" ]; then
|
|
NOTES_DIR="$HOME/Personal/notes"
|
|
elif [ -d "$HOME/Projects/notes" ]; then
|
|
NOTES_DIR="$HOME/Projects/notes"
|
|
else
|
|
echo "Error: NOTES_DIR could not be found." >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -d "$NOTES_DIR" ]; then
|
|
echo "Error: NOTES_DIR '$NOTES_DIR' is not a directory." >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "$QUARTZ_DIR"
|
|
|
|
# Run npx quartz
|
|
# Following the prompt's structure but using NOTES_DIR for the flag
|
|
# npx quartz ${argv[1]} --directory ${NOTES_DIR} "$@"
|
|
# We use ${1:-} for argv[1] to handle cases with no arguments.
|
|
npx quartz "${1:-}" --directory "$NOTES_DIR" "$@"
|