/
x
i\
b last
:close_pre
i\
s/$//
x
b last
}
/^.+$/,/^$/{
/^$/{
x
/$/b close_p
b last
}
/^ ([^- \.\*].*)/{
x
/
$/!{
s/$/
/
i\
}
x
s/^( .*)/\1/
s/&/\&/g;s/\</g;s/>/\>/g
s|^.*$|&
|g
p
b last
}
/.+$/{
x
/
$/!b start_p
x
}
b no_tag_p_last
:start_p
s/$/
/
x
i\
b no_tag_p_last
:close_p
i\
s/
$//
x
b last
}
:no_tag_p_last
s/&/\&/g;s/\</g;s/>/\>/g
:p_last
s|("[^"]+")|\1|g
:no_attribute_p_last
s|``([^`'"'"']+)'"''"'|\“\1\”|g
s|('"'"'[^'"'"']+'"'"')|\1
|g
s|(`[^`]+`)|\1|g
s|\/\/([^\/]+)\/\/|\1|g
s|\*\*([^\*]+)\*\*|\1|g
s|\%\%([^\%]+)\%\%|\1|g
s|\[\*([^\*]+)\*\]\[\[,([^]]*)\]\]|\1|g
s|\[-(.+)-\]\[\[,([^]]*)\]\]|\1|g
s|\[\+(.+)\+\]\[\[,([^]]*)\]\]|\1|g
s|\[%([^%]+)%\]\[\[,([^]]*)\]\]|\1
|g
s|\[\$([^$]+)\$\]\[\[,([^]]*)\]\]|\1|g
s|\[\?([^?]+)\?\]\[\[,([^]]*)\]\]|\1|g
s|\[\!([^!]+)\!([^!]+)\!\]\[\[,([^]]*)\]\]|\1|g
s|\[\!([^!]+)\!\]\[\[,([^]]*)\]\]|\1|g
s|\[\#([^#]+)\#\]\[\[,([^]]*)\]\]|\1
|g
s|\[\@([^@]+)\@\]\[\[,([^]]*)\]\]|\1|g
s|\[\^([^\^]+)\^\]\[\[,([^]]*)\]\]|\1|g
s|\[\~([^\~]+)\~\]\[\[,([^]]*)\]\]|\1|g
s|\[_([^_]+)_\]\[\[,([^]]*)\]\]|\1|g
s|\[/([^/]+)/\]\[\[,([^]]*)\]\]|\1|g
s|\["([^"]+)"\]\[\[,([^]]*)\]\]|\1|g
s|\[\(([^)]+)\)\]\[\[,([^]]*)\]\]|
\1
|g
s|\[\*([^\*]+)\*\]|\1|g
s|\[-(.+)-\]|\1|g
s|\[\+(.+)\+\]|\1|g
s|\[%([^%]+)%\]|\1
|g
s|\[\$([^$]+)\$\]|\1|g
s|\[\?([^?]+)\?\]|\1|g
s|\[\!([^!]+)\!([^!]+)\!\]|\1|g
s|\[\!([^!]+)\!\]|\1|g
s|\[;([^;]+);([^;]+);\]|
|g
s|\[;([^;]+);\]|
|g
s|\[\#([^#]+)\#\]|\1
|g
s|\[\@([^@]+)\@\]|\1|g
s|\[\^([^\^]+)\^\]|\1|g
s|\[\~([^\~]+)\~\]|\1|g
s|\[_([^_]+)_\]|\1|g
s|\[/([^/]+)/\]|\1|g
s|\["([^"]+)"\]|\1|g
s|\[\(([^)]+)\)\]|\1
|g
s|\[\{(.*)\}\]||g
s|(mailto:[^[]+)\[([^]]+)\]|\2|g
s|([-[:alpha:]]+://[^[]+)\[([^]]+)\]|\2|g
s|([-[:alpha:]]+://[^[]+)\[\]|\1|g
p
:last
${
x
:close
/<(ul|ol|pre|p)>$/{
/