aboutsummaryrefslogtreecommitdiff
path: root/aux/emparse
diff options
context:
space:
mode:
Diffstat (limited to 'aux/emparse')
-rwxr-xr-xaux/emparse15
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>"