system-prompts/generate_toc_for_readme.sh
2023-11-11 21:03:11 +08:00

21 lines
No EOL
616 B
Bash

#!/bin/bash
generate_toc() {
local dir=$1
local base_dir=$(pwd)
for file in "$dir"/*; do
if [ -d "$file" ]; then
local dir_name=$(basename "$file")
echo "- $dir_name"
echo " $(generate_toc "$file")"
elif [ -f "$file" ] && [[ $file == *.md ]]; then
local title=$(basename "$file" .md)
local link=$(echo "$file" | sed "s|^$base_dir/||")
local encoded_link=$(python -c "import urllib.parse; print(urllib.parse.quote('''$link'''))")
echo " - [$title]($encoded_link)"
fi
done
}
generate_toc .