diff options
author | John Ankarström <john@ankarstrom.se> | 2021-01-30 09:55:26 +0000 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2021-01-30 09:55:26 +0000 |
commit | 4d00aca757265010cae5626c33d186c1cb2c23b8 (patch) | |
tree | 56dd8770fc0c7523708bd7c59d06d7cb7a2aa784 /aux | |
parent | 99ac4e7f5a389898673348449e4a522a86d07f1c (diff) | |
download | em-4d00aca757265010cae5626c33d186c1cb2c23b8.tar.gz |
Fix nested lists
Diffstat (limited to 'aux')
-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>" |