#!/usr/bin/env ruby def htmlfix(str) str.sub!("&","&"); str.sub!("æ","æ"); str.sub!("Æ","&Aelig;"); str.sub!("ø","ø"); str.sub!("Ø","Ø"); str.sub!("å","å"); str.sub!("Å","Å"); return str; end def indexdir(dir) index=Array.new Dir.entries(dir).sort.each do |name| next if not name[-4..-1] == ".tex" findex=Array.new #puts "F:"+name IO.readlines(ARGV[0]+File::Separator+name).each do |line| ttl= line.scan(/^\\(sub)?(sub)?section\*?\{([^\}]*)\}/)[0] next if(ttl==nil) next if(line.length<3) if(ttl[0]=="sub") if(ttl[1]=="sub") #subsubsect findex<< ["",Array.new] if(findex[-1]==nil) findex[-1]<< ["",Array.new] if(findex[-1][-1]==nil) findex[-1][-1][1]<< ttl[2] else #subsect findex<< ["",Array.new] if(findex[-1]==nil) #puts findex[-1][0] findex[-1][1]<< [ttl[2],Array.new] end else #sect findex<< [ttl[2],Array.new] end end index<< [name,findex] end return index end def printcli(index) index.each do |fli| puts fli[0]+":" fli[1].each do |sect| puts "-"+sect[0] sect[1].each do |subsect| puts "--"+subsect[0] subsect[1].each do |subsubsect| puts "--"+subsubsect end end end end end def printhtml(index,pfx) pfx="" if pfx==nil puts "" end printhtml(indexdir(ARGV[0]),ARGV[1]);