aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/specfilter.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/specfilter.hs b/tools/specfilter.hs
index 7f4df9f..304e463 100755
--- a/tools/specfilter.hs
+++ b/tools/specfilter.hs
@@ -1,6 +1,7 @@
#!/usr/bin/env runhaskell
import Text.Pandoc.JSON
+import Text.Pandoc.Walk
import Text.Pandoc.Generic
main = toJSONFilter go
@@ -10,20 +11,21 @@ main = toJSONFilter go
exampleDivs :: Block -> Block
exampleDivs (Div (ident, ["example"], kvs)
[ d@(Div (_,["examplenum"],_) _),
- c1@(CodeBlock (_,["markdown"],_) _),
- c2@(CodeBlock (_,["html"],_) _)
+ d1@(Div (_,["column"],_) _),
+ d2@(Div (_,["column"],_) _)
]) = Div (ident, ["example"], kvs)
[ rawtex "\\begin{minipage}[t]{\\textwidth}\n{\\scriptsize "
, d
, rawtex "}\\vspace{-0.4em}\n"
, rawtex "\\begin{minipage}[t]{0.49\\textwidth}\n\\definecolor{shadecolor}{gray}{0.85}\n\\begin{snugshade}\\small\n"
- , addBreaks c1
+ , walk addBreaks d1
, rawtex "\\end{snugshade}\n\\end{minipage}\n\\hfill\n\\begin{minipage}[t]{0.49\\textwidth}\n\\definecolor{shadecolor}{gray}{0.95}\n\\begin{snugshade}\\small\n"
- , addBreaks c2
+ , walk addBreaks d2
, rawtex "\\end{snugshade}\n\\end{minipage}\n\\end{minipage}"
]
where rawtex = RawBlock (Format "latex")
addBreaks (CodeBlock attrs code) = CodeBlock attrs $ addBreaks' code
+ addBreaks x = x
addBreaks' code =
if length code > 49
then take 49 code ++ ('\n':addBreaks' (drop 49 code))