У меня проблема с lua фильтром в пандо c.
У меня есть этот код:
{{% notice info %}}
Частота RAM должна быть не менее **2133 Mhz**
CPU не менее производительный, чем **Intel Xeon E5-2650V4**
Производительность дисковой подсистемы не менее **300 IOPS**
{{% /notice %}}
Правильно конвертируется с hu go в html. Теперь я хочу преобразовать его в PDF, используя pando c.
pandoc -i minimal_private_cloud.ru.md -o ~/Documents/tmp.ru.pdf --from markdown --template eisvogel --listings -V lang=ru-RU --pdf-engine=xelatex --lua-filter ~/tmp/replace_macro.lua --filter pandoc-latex-environment
содержимое моего lua -фильтра (~/tmp/replace_macro.lua
):
function Para (el)
content_str = pandoc.utils.stringify(el.content)
local cont = string.match(content_str, "{{%% code file=(.*) %%}}")
local notice_start = string.match(content_str, "{{%% notice info %%}}")
local notice_end = string.match(content_str, "{{%% /notice %%}}")
if cont ~= nil then
local cont_cleared = string.match(cont, "([%w._/]+)")
print(cont_cleared)
cont = "/home/still/Documents/Documents Work/Currentwork/Doc" .. cont_cleared
print(cont)
local f = io.open(cont, 'r')
local doc = pandoc.read(f:read('*a'))
f:close()
return doc.blocks
else
--print 'not a date'
end
if notice_start ~= nil then
print("Notice info start finded!")
local doc = pandoc.Plain("::: info")
return {doc}
end
if notice_end ~= nil then
print("Notice end finded!")
local doc = pandoc.Plain(":::")
return {doc}
end
end
Теперь этот код генерирует PDF с уродливыми отметками типа ::: info
. Второй фильтр (pandoc-latex-environment
) должен генерировать красавицы с этими отметками.
Это работает, только если я написал эту отметку в оригинальном md. Если я попытаюсь изменить эту отметку с помощью lua - это не получится.
PS Извините за мой плохой английский sh.