haskell.hs (1035B)
1 {-# LANGUAGE OverloadedStrings #-} 2 module Main where 3 4 --import Prelude hiding (id) 5 --import Control.Category (id) 6 import Control.Arrow ((>>>), (***), arr) 7 import Control.Monad (forM_) 8 -- import Data.Monoid (mempty, mconcat) 9 10 -- import System.FilePath 11 12 import Hakyll 13 14 15 main :: IO () 16 main = hakyll $ do 17 18 route "css/*" $ setExtension "css" 19 compile "css/*" $ byExtension (error "Not a (S)CSS file") 20 [ (".css", compressCssCompiler) 21 , (".scss", sass) 22 ] 23 24 route "js/**" idRoute 25 compile "js/**" copyFileCompiler 26 27 route "img/*" idRoute 28 compile "img/*" copyFileCompiler 29 30 compile "templates/*" templateCompiler 31 32 forM_ ["test.md", "index.md"] $ \page -> do 33 route page $ setExtension "html" 34 compile page $ pageCompiler 35 >>> applyTemplateCompiler "templates/default.html" 36 >>> relativizeUrlsCompiler 37 38 sass :: Compiler Resource String 39 sass = getResourceString >>> unixFilter "sass" ["-s", "--scss"] 40 >>> arr compressCss