maketoc 405 B

123456789101112131415
  1. #!/bin/zsh
  2. echo "# Zsh 开发指南 目录"
  3. for filename (*Zsh-开发指南(第*md) {
  4. local title=${${${filename#*(}%)*}//-/ }
  5. echo "## [$title]("$filename")"
  6. for i (${(f)"$(grep "^###" $filename)"}) {
  7. local level=${i%% *}
  8. local subtitle=${i#$level }
  9. [[ $level == "####" ]] && level="- "
  10. echo "$level [$subtitle]("$filename"#${subtitle// /-})"
  11. }
  12. }