#!/usr/bin/env ruby START_MATCH='

Syntax:

' END_MATCH='

' DIR='/data/docs/lang/lisp/HyperSpec/Body/*' OUTPUT='hypergrep.html' html=[] Dir[DIR].entries.collect{|fn| data=IO::readlines(fn).join '' st=data.index(START_MATCH) if st en=data.index(END_MATCH,st+START_MATCH.length) if en html << data[st+START_MATCH.length...en-END_MATCH.length].strip.chomp.chomp.chomp.chomp.reverse.chomp.chomp.chomp.chomp.reverse.strip end end } html=html.collect{|str| str2=str.gsub('

','').gsub("\n\n","\n").gsub("

\n\n","").gsub("\n<","<").gsub(">\n <",">\n<").gsub("\n

","\n").gsub("\n\n","\n").strip; str2}
html.sort!
p html
html='
'+html.join("\n")+'
' File.open(OUTPUT,'w'){|f| f.write html}