Text · 1100 bytes Raw Blame History
1 #!/bin/bash
2
3 # Required parameters:
4 # @raycast.schemaVersion 1
5 # @raycast.title Browse Markdown Files
6 # @raycast.mode silent
7
8 # Optional parameters:
9 # @raycast.icon 📝
10 # @raycast.description Browse ndotfiles notes and view micro keybinds
11 # @raycast.packageName Markdown Browser
12 # @raycast.argument1 { "type": "text", "placeholder": "Directory (optional)", "optional": true }
13
14 # Get the script's directory to find ndotfiles root
15 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
16 NDOTFILES_ROOT="$(dirname "$SCRIPT_DIR")"
17
18 # Set directory to search (default to ndotfiles/notes or argument)
19 SEARCH_DIR="${1:-$NDOTFILES_ROOT/notes}"
20
21 # Check if directory exists
22 if [ ! -d "$SEARCH_DIR" ]; then
23 echo "Error: Directory '$SEARCH_DIR' does not exist"
24 exit 1
25 fi
26
27 # Launch fzf markdown browser in a floating Ghostty window
28 open -na Ghostty --args -e bash -c "
29 cd '$SEARCH_DIR' && \
30 fd -e md -e markdown | \
31 fzf --preview 'bat --color=always --style=numbers {}' \
32 --preview-window=right:60% \
33 --bind 'enter:execute(open {})+abort' \
34 --header 'Enter: Open | Esc: Cancel'
35 "