Фильтр Pandoc lua позволяет действительно легко перебирать документ и разбирать документ по ходу работы.Моя проблема в том, что я не могу понять, как изолировать элементы списка.Я могу найти списки и вещи уровня блока внутри каждого элемента списка, но я не могу найти способ перебора элементов списка.
Например, допустим, у меня была следующая уценкаdocument:
1. One string
Two string
2. Three string
Four string
Допустим, я хочу сделать первую строку каждого элемента списка жирным.Я могу легко изменить способ обработки абзацев внутри OrderedLists, скажем, с помощью этого фильтра и pandoc --lua-filter=myfilter.lua --to=markdown input.md
local i
OrderedList = function (element)
i = 0
return pandoc.walk_block(element, {
Para = function (element)
i = i + 1
if i == 1 then return pandoc.Para { pandoc.Strong(element.c) }
else return element end
end
})
end
Это действительно изменит первый элемент абзаца на полужирный, но это только изменит первый абзац первогоэлемент списка, поскольку он повторяется по всем абзацам во всех элементах списка в списке, а не в каждом элементе списка, а затем в каждом абзаце.
1. **One string**
Two string
2. Three string
Four string
Если я разделю два элемента списка снова на два отдельных списка, первыйабзац первого элемента пойман, но я хочу поймать первый абзац каждого элемента списка!Я не могу найти ничего в документации об итерации по элементам списка.Как это сделать?