diff options
| -rw-r--r-- | _extensions/ruc-play/semantic-markdown/semantic-markdown.lua | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/_extensions/ruc-play/semantic-markdown/semantic-markdown.lua b/_extensions/ruc-play/semantic-markdown/semantic-markdown.lua index 5d5967f..f076950 100644 --- a/_extensions/ruc-play/semantic-markdown/semantic-markdown.lua +++ b/_extensions/ruc-play/semantic-markdown/semantic-markdown.lua @@ -326,7 +326,6 @@ local function Statements (block) end if encl == Enclosure.NONE then - elems_enclosed:insert(el) -- specific elements represent content enclosure if ElementTypeIsEnclosure[el.t] then @@ -343,13 +342,21 @@ local function Statements (block) local _, nextpos, s = el.text:find("^([^%[\\]*)") pos = nextpos and nextpos + 1 or pos + 1 chars_unenclosed = chars_unenclosed..s - chars_enclosed = chars_unenclosed -- entering bracketed enclosure if el.text:sub(pos, pos) == "[" then + + -- qualify unenclosed elements + elems:extend(elems_unenclosed) + elems_unenclosed = pandoc.List() + elems_enclosed = pandoc.List() + if chars_unenclosed:len() > 0 then + elems:insert(pandoc.Str(chars_unenclosed)) + end + pos = pos + 1 - chars_enclosed = chars_unenclosed chars_unenclosed = chars_unenclosed.."[" + chars_enclosed = "" encl = Enclosure.BRACKETED end end |
