Update to new Pandoc and Hakyll.

This commit is contained in:
Justin Hsu
2018-02-17 18:18:06 +00:00
parent 58491440ce
commit 4ac7538d0c
2 changed files with 27 additions and 19 deletions
+13 -7
View File
@@ -19,10 +19,11 @@ import Data.Char (isSpace)
import Data.List.Split (splitOn)
import Data.List (intercalate)
import qualified Data.Map as M (empty)
import Data.Text (pack, unpack)
import Data.Typeable (Typeable)
import Hakyll
import qualified Bibtex as B
import qualified Text.Pandoc as Pandoc
import Text.Pandoc
import qualified Text.Parsec as Parsec
--------------------------------------------------------------------------------
@@ -128,11 +129,16 @@ trimSpace :: String -> String
trimSpace = f . f
where f = reverse . dropWhile isSpace
-- Remove <p> and </p> tags...
trimPara :: String -> String
trimPara str = concat $ splitOn "</p>" $ drop 3 str
--------------------------------------------------------------------------------
latexToHtml :: String -> String
latexToHtml tex =
let p = case Pandoc.readLaTeX Pandoc.def tex of
Right (Pandoc.Pandoc meta [Pandoc.Para para]) ->
Pandoc.Pandoc meta [Pandoc.Plain para]
Left _ ->
Pandoc.Pandoc (Pandoc.Meta M.empty) []
in Pandoc.writeHtmlString Pandoc.def p
let res = runPure $ readLaTeX def (pack tex)
>>= writeHtml5String def
>>= return . trimPara . unpack
in case res of
Left _ -> ""
Right html -> html