-------------------------------------------------------------------------------- {-# LANGUAGE OverloadedStrings #-} import Hakyll import Text.Pandoc.Options -------------------------------------------------------------------------------- hakyllConfig :: Configuration hakyllConfig = defaultConfiguration { deployCommand = "rsync -ave ssh --rsync-path=/usr/bin/openrsync _site/ ohqo@192.168.50.1:/var/www/htdocs/electriclam.com --delete" } pandocOptions :: WriterOptions pandocOptions = defaultHakyllWriterOptions {writerHTMLMathMethod = MathML } main :: IO () main = hakyllWith hakyllConfig $ do match "css/*.css" $ do route idRoute compile compressCssCompiler 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