remove haskell filter
This commit is contained in:
29
output.html
29
output.html
@@ -6,28 +6,19 @@ ullamcorper felis, ac ultrices turpis congue vel. Nulla id tempus orci.
|
||||
Curabitur ac vulputate tellus. Integer fermentum tempor facilisis. Duis
|
||||
egestas luctus tristique. Maecenas vitae arcu sit amet justo feugiat
|
||||
imperdiet. Nunc luctus erat sed ligula convallis hendrerit.</p>
|
||||
<div data-include="filter.hs , filter.lua , ,">
|
||||
#!/usr/bin/env runhaskell
|
||||
-- filter.hs
|
||||
import Text.Pandoc.JSON
|
||||
import qualified Data.Text.IO as TIO
|
||||
import qualified Data.Text as T
|
||||
<div data-include="README.md , filter.lua , ,">
|
||||
# Piecewise Readable Filter
|
||||
|
||||
file2Block :: FilePath -> IO [Block]
|
||||
file2Block f = do
|
||||
contents <- TIO.readFile f
|
||||
return [Plain [Str contents]]
|
||||
This is a pandoc filter manipulating
|
||||
[fenced_divs](https://pandoc.org/MANUAL.html#extension-fenced_divs) in
|
||||
pandoc markdown.
|
||||
|
||||
doInclude :: Block -> IO Block
|
||||
doInclude cb@(Div (id, classes, namevals) contents) =
|
||||
case lookup (T.pack "include") namevals of
|
||||
Just f -> Div (id, classes, namevals) <$> file2Block
|
||||
(T.unpack f)
|
||||
Nothing -> return cb
|
||||
doInclude x = return x
|
||||
Inspired by [this
|
||||
joke](https://www.zhihu.com/question/586807834/answer/2973535981).
|
||||
|
||||
useful refs:
|
||||
- https://pandoc.org/lua-filters.html
|
||||
|
||||
main :: IO ()
|
||||
main = toJSONFilter doInclude
|
||||
local function words(s)
|
||||
local res = {}
|
||||
for part in s:gmatch("[^,]+") do -- split by commas
|
||||
|
||||
Reference in New Issue
Block a user