local common = require 'filters.lib.common' local vars = {} function alert(el) el.classes = pandoc.List() el.classes:insert("o-alert") el.classes:insert("o-alert--primary") el.classes:insert("s-alerts__alert") return common.wide(el) end function figure(el) local images = pandoc.List() pandoc.walk_block(el, { Image = function(iel) images:insert(iel) end }) images[1].classes:insert("c-figure__image") local class = "c-figure js-lightbox__image" if vars.layout and vars.layout.is_exhibit then class = class .. " u-d-none@js" end el = pandoc.List() el:insert(pandoc.RawBlock("html", "
")) el:insert(pandoc.Link(images[1], images[1].src, nil, { class = "c-figure__link" })) el:insert(pandoc.RawBlock("html", "
")) return common.wide(el) end function Div(el) if el.classes:includes("alert") then el = alert(el) elseif el.classes:includes("figure") then el = figure(el) end return el end function meta(meta) vars = meta end return { { Meta = meta }, { Div = Div } }