BEGIN {
in_dl = 0
has_prev = 0
prev_line = ""
in_pre = 0
}
{
if ($0 ~ /^
/) {
if (!in_pre) in_pre = 1
}
if (!in_pre && $0 ~ /^:[ \t]+[^ \t]/) {
if (!in_dl) {
in_dl = 1
print ""
print "- " prev_line "
"
has_prev = 0
} else {
if (has_prev && prev_line != "") {
print "- " prev_line "
"
has_prev = 0
}
}
def_text = $0
sub(/^:[ \t]+/, "", def_text)
print "- " def_text "
"
if ($0 ~ /<\/pre>/) {
if (in_pre) in_pre = 0
}
next
} else {
if (in_dl) {
if ($0 == "") {
# End of definition list
print "
"
in_dl = 0
print ""
has_prev = 0
next
}
}
if (has_prev) {
print prev_line
}
prev_line = $0
has_prev = 1
}
if ($0 ~ /<\/pre>/) {
if (in_pre) in_pre = 0
}
}
END {
if (in_dl) {
print ""
} else {
if (has_prev) {
print prev_line
}
}
}