about summary refs log tree commit diff stats
path: root/scripts/versify.hs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/versify.hs')
-rw-r--r--scripts/versify.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/versify.hs b/scripts/versify.hs new file mode 100644 index 0000000..48e9c00 --- /dev/null +++ b/scripts/versify.hs
@@ -0,0 +1,15 @@
1import Text.Pandoc.JSON
2import Data.List.Split
3
4main :: IO ()
5main = toJSONFilter transformVerseParas
6
7transformVerseParas :: Block -> Block
8transformVerseParas (Para xs)
9 | LineBreak `elem` xs = Para (addLineSpans xs)
10 | otherwise = Para xs
11transformVerseParas x = x
12
13addLineSpans :: [Inline] -> [Inline]
14addLineSpans = map encloseInSpan . splitWhen (== LineBreak)
15 where encloseInSpan = Span ("", ["line"], [])