diff options
Diffstat (limited to 'aux/emparse')
-rwxr-xr-x | aux/emparse | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/aux/emparse b/aux/emparse index 929c1c7..5fb9397 100755 --- a/aux/emparse +++ b/aux/emparse @@ -144,6 +144,8 @@ function breakblock() { opendef = 0 openblock = 0 openformat = "" + itemlevel = 1 + delete leveltype expectblock = 1 } @@ -158,9 +160,16 @@ function heading(level, line) { function item(level, type, line) { if (openitem) printf "</li>" openitem = 1 - if (level > itemlevel) printf "<%s>\n", type - if (level < itemlevel) printf "</%s>\n", type - itemlevel = level + if (type != "nl") { + for (; itemlevel < level; itemlevel++) { + printf "<%s>\n", type + leveltype[itemlevel+1] = type + } + for (; itemlevel > level; itemlevel--) { + printf "</%s>\n", leveltype[itemlevel] + leveltype[itemlevel] = "" + } + } if (type == "ul") { sub("^ +- ", "") printf "<li>" |