summaryrefslogtreecommitdiff
path: root/src/Text/Hakyll/Configurations/Static.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Hakyll/Configurations/Static.hs')
-rw-r--r--src/Text/Hakyll/Configurations/Static.hs59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/Text/Hakyll/Configurations/Static.hs b/src/Text/Hakyll/Configurations/Static.hs
deleted file mode 100644
index 5a2c1be..0000000
--- a/src/Text/Hakyll/Configurations/Static.hs
+++ /dev/null
@@ -1,59 +0,0 @@
--- | Module for a simple static configuration of a website.
---
--- The configuration works like this:
---
--- * The @templates/@ directory should contain one template.
---
--- * Renderable files in the directory tree are rendered using this template.
---
--- * The @static/@ directory is copied entirely (if it exists).
---
--- * All files in the @css/@ directory are compressed.
---
-module Text.Hakyll.Configurations.Static
- ( staticConfiguration
- ) where
-
-import Control.Applicative ((<$>))
-import Control.Monad (filterM, forM_)
-
-import Text.Hakyll.File ( getRecursiveContents, inDirectory, inHakyllDirectory
- , directory )
-import Text.Hakyll.Internal.FileType (isRenderableFile)
-import Text.Hakyll.HakyllMonad (Hakyll, logHakyll)
-import Text.Hakyll.Render (renderChain, css, static)
-import Text.Hakyll.CreateContext (createPage)
-
--- | A simple configuration for an entirely static website.
---
-staticConfiguration :: Hakyll ()
-staticConfiguration = do
- -- Find all files not in _site or _cache.
- files <- filterM isRenderableFile' =<< getRecursiveContents "."
-
- -- Find a main template to use
- mainTemplate <- take 1 <$> getRecursiveContents templateDir
- logHakyll $ case mainTemplate of [] -> "Using no template"
- (x : _) -> "Using template " ++ x
-
- -- Render all files using this template
- forM_ files $ renderChain mainTemplate . createPage
-
- -- Render a static directory
- directory static staticDir
-
- -- Render a css directory
- directory css cssDir
- where
- -- A file should have a renderable extension and not be in a hakyll
- -- directory, and not in a special directory.
- isRenderableFile' file = do
- inHakyllDirectory' <- inHakyllDirectory file
- return $ isRenderableFile file
- && not (any (inDirectory file) [templateDir, cssDir, staticDir])
- && not inHakyllDirectory'
-
- -- Directories
- templateDir = "templates"
- cssDir = "css"
- staticDir = "static"