BEGIN { in_code = 0; in_html_pre = 0 } { if ($0 ~ /
/) in_html_pre = 1
if ($0 ~ /<\/pre>/) { in_html_pre = 0; if (in_code) { print ""; in_code = 0 }; print; next }
if (!in_html_pre && $0 ~ /^(\t| )/) {
if (!in_code) { printf "%s", ""; in_code = 1 }
sub(/^(\t| )/, "", $0)
gsub(/&/, "\\&"); gsub(/, "\\<"); gsub(/>/, "\\>")
print
next
}
if (in_code) {
print ""
in_code = 0
}
print
}
END { if (in_code) print "" }