info-page/site.hs
2025-01-17 22:34:40 -05:00

38 lines
1.2 KiB
Haskell

--------------------------------------------------------------------------------
{-# 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