-------------------------------------------------------------------------------- {-# LANGUAGE OverloadedStrings #-} import Hakyll import Text.Pandoc.Options -------------------------------------------------------------------------------- hakyllConfig :: Configuration hakyllConfig = defaultConfiguration { deployCommand = "rsync -ave 'ssh -p 10087' _site/ alcymd@electriclam.com:/var/www/infopage --delete" } pandocOptions :: WriterOptions pandocOptions = defaultHakyllWriterOptions {writerHTMLMathMethod = MathML } main :: IO () main = hakyllWith hakyllConfig $ do match "css/*.css" $ do route idRoute compile compressCssCompiler match "repl25-notes/*.pdf" $ do route idRoute compile copyFileCompiler match "papers/*" $ do route idRoute compile copyFileCompiler match "images/favicon.ico" $ do route (constRoute "favicon.ico") compile copyFileCompiler match "index.org" $ do route $ setExtension "html" compile $ do let indexCtx = constField "title" "Yiyun Liu" <> defaultContext pandocCompiler >>= applyAsTemplate indexCtx >>= loadAndApplyTemplate "templates/default.html" indexCtx >>= relativizeUrls match "templates/*" $ compile templateBodyCompiler