local redirect function Link(elem) if isLocalLink(elem) then if isFolderLink(elem) then return pandoc.Link(elem.content, elem.target .. 'index.htm', elem.title, elem.attr) else return pandoc.Link(elem.content, elem.target .. '.htm', elem.title, elem.attr) end end -- target=_blank opens external links in browser table.insert(elem.content, ' ↗️') return pandoc.Link(elem.content, elem.target, 'This link opens in your web browser', { target = '_blank' }) end function isLocalLink(elem) return string.match(elem.target, "://") == nil end function isFolderLink(elem) return not ( string.match(elem.target, "/$") == nil ) end -- Support for redirect meta key, adds a meta refresh to the resulting document function Meta(meta) if meta.redirect then redirect = pandoc.utils.stringify(meta.redirect) end return meta end function Pandoc(doc) if redirect then local metaRefresh = pandoc.RawBlock('html', "") local redirectText = pandoc.Para({pandoc.Str("This content can be found "), pandoc.Link("here", redirect .. ".htm"), pandoc.Str(".")}) table.insert(doc.blocks, metaRefresh) table.insert(doc.blocks, redirectText) end return pandoc.Pandoc(doc.blocks, doc.meta) end