Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#!/usr/bin/tclsh
# (find-angg ".zshrc" "makeindexhtmls")
puts <html>
puts <head><title></title></head>
puts <body>
puts <pre>
set lines [split [exec ls -laF | col -x] "\n"]
# set total [lindex $lines 0]
# puts $total
regexp {^(.* )([^ ]*)} [lindex $lines 1] -> left right
regsub -all . $left . left
set myre "^($left)(\[^ */=@|\]*)(.*)"
foreach line [lrange $lines 1 end] {
  regexp $myre $line -> left name right
  puts "$left<a href=\"$name\">$name</a>$right"
}
puts </pre>
puts </body>
puts </html>