#!/bin/zsh

for filename (*Zsh-开发指南(第*md) {
    local title=${${${filename#*(}%)*}//-/ }
    echo "## [$title]("$filename")"

    for i (${(f)"$(grep "^###" $filename)"}) {
        local level=${i%% *}
        local subtitle=${i#$level }
        [[ $level == "####" ]] && level="- "
        echo "$level [$subtitle]("$filename"#${subtitle// /-})"
    }
}