В настоящее время я работаю над массированием HTML выходного сигнала фильтра Pando c из-за некоторых раздражающих ограничений в CMS, которая в конечном итоге является бенефициаром моей тяжелой работы.
Мой рабочий фильтр (сейчас с очевидными объявлениями) выглядит следующим образом:
local List = require 'pandoc.List'
local Emph = pandoc.Emph
local Quoted = pandoc.Quoted
local Span = pandoc.Span
local Str = pandoc.Str
local Strong = pandoc.Strong
local image_base = "http://my.website.example/images/"
local image_author = "Someone Not Stigma"
function process_images(el)
el.src = el.src:gsub("^file:images/", image_base)
el.caption = {
Strong( Quoted( "DoubleQuote", el.caption ) ),
Str(" by "),
Emph(image_author)
}
return el
end
return {{Image = process_images}}
В конечном итоге HTML, это дает мне хорошую фигуру с элементами img и figcaption внутри. Чудесно. К сожалению, моя CMS разрушает figcaption (как будто он имеет тенденцию разрушать другие вещи), и поэтому я решил, что я оберну все в дополнительный промежуток, чтобы вместо этого я мог его стилизовать.
function process_images(el)
el.src = el.src:gsub("^file:images/", image_base)
el.caption = {
Span(
{
Strong( Quoted( "DoubleQuote", el.caption ) ),
Str(" by "),
Emph(image_author)
},
{ class="img-caption" }
)
}
return el
end
И все же каким-то образом это заставляет Pando c полностью удалить изображение из полученного HTML.
. Я попытался заменить синтаксисы таблиц синтаксисами List ({}), но это только вызывает жалобы на повышение стоимости. Я посмотрел руководство, но насколько я могу судить, я все делаю правильно.
Что мне здесь не хватает?
Я называю pando c следующим образом:
pandoc --from=markdown-tex_math_dollars "Content.pure.txt" --lua-filter=".\pandoc-filter.lua" --to=html5 --template=".\pandoc-template.txt" -o "Content.txt"
Расширения имеют формат .txt (поскольку эти файлы не готовы для браузера). Используемый шаблон довольно длинный (есть немало переменных YAML и соответствующей разметки), но будьте уверены: там можно найти $ body $.