Clean up paths
This commit is contained in:
parent
992edea3ee
commit
fa2e3c144a
|
@ -3,34 +3,42 @@ module SiteGenerator (generateSite) where
|
|||
import Types
|
||||
import DependencyGenerator
|
||||
|
||||
thumbnailImageFilename :: Token FilePath -> DepGenM' FilePath
|
||||
thumbnailImageFilename filename = do
|
||||
thumbnailImagePath :: Token FilePath -> Token FilePath -> DepGenM' FilePath
|
||||
thumbnailImagePath outputDir filename = do
|
||||
(base, ext) <- untupleDepGenM (fileComponents filename)
|
||||
appendStrings (appendStrings (base, inject "-thumbnail."), ext)
|
||||
name <- appendStrings (appendStrings (base, inject "-thumbnail."), ext)
|
||||
joinPaths (outputDir, name)
|
||||
|
||||
handleRecipeDir :: Token FilePath -> Token Template -> Token FilePath -> DepGenM ()
|
||||
handleRecipeDir outputDir template dir = do
|
||||
handleRecipeDir :: Token FilePath -> Token Template -> Token FilePath -> Token FilePath -> DepGenM ()
|
||||
handleRecipeDir outputDir template indexName dir = do
|
||||
dirContents <- listDirectory dir
|
||||
exts <- unzipSndDepGenM (mapDepGenM fileComponents dirContents)
|
||||
areImageFilenames <- mapDepGenM isImageExtension exts
|
||||
imageFilenames <- filterDepGenM areImageFilenames dirContents
|
||||
thumbnailImageFilenames <- mapDepGenM thumbnailImageFilename imageFilenames
|
||||
imagePaths <- mapDepGenM (curry joinPaths outputDir) imageFilenames
|
||||
thumbnailImagePaths <- mapDepGenM (thumbnailImagePath outputDir) imageFilenames
|
||||
mapDepGenM_
|
||||
(\files -> convertImage (files, inject $ ResizeToWidth 800))
|
||||
(ZipToken (imageFilenames, thumbnailImageFilenames))
|
||||
(ZipToken (imagePaths, thumbnailImagePaths))
|
||||
recipeDirOut <- joinPaths (outputDir, dir)
|
||||
makeDir recipeDirOut
|
||||
htmlBody <- runPandoc (joinPaths (dir, inject "ret.md"))
|
||||
html <- applyTemplate (template, htmlBody)
|
||||
saveFile (html, joinPaths (recipeDirOut, inject "index.html"))
|
||||
saveFile (html, joinPaths (recipeDirOut, indexName))
|
||||
|
||||
generateSite :: DepGenM ()
|
||||
generateSite = do
|
||||
outputDir <- inject "site"
|
||||
makeDir outputDir
|
||||
recipesDir <- inject "retter"
|
||||
outputRecipesDir <- joinPaths (outputDir, recipesDir)
|
||||
makeDir outputRecipesDir
|
||||
template <- readTemplate (inject "template.html")
|
||||
dirContents <- listDirectory (inject "retter")
|
||||
mapDepGenM_ (handleRecipeDir outputDir template) dirContents
|
||||
indexName <- inject "index.html"
|
||||
dirContents <- listDirectory recipesDir
|
||||
mapDepGenM_ (handleRecipeDir outputRecipesDir template indexName) dirContents
|
||||
htmlBody <- runPandoc (inject "om.md")
|
||||
html <- applyTemplate (template, htmlBody)
|
||||
saveFile (html, joinPaths (outputDir, inject "om.html"))
|
||||
aboutDir <- joinPaths (outputDir, inject "om")
|
||||
makeDir aboutDir
|
||||
saveFile (html, joinPaths (aboutDir, indexName))
|
||||
|
|
Loading…
Reference in New Issue