Generate gemini files along other resources

This commit is contained in:
Yann Esposito (Yogsototh) 2020-11-09 10:52:51 +01:00
parent e51b71685f
commit bc3da59026
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646

View file

@ -159,9 +159,9 @@ buildRules = do
then copyFileChanged (srcDir </> asset) out then copyFileChanged (srcDir </> asset) out
else genAsciiAction getPost out else genAsciiAction getPost out
".gmi" -> ".gmi" ->
if out == siteDir </> "gemini" </> "archive.gmi" if out == siteDir </> "archive.gmi"
then buildGeminiArchive getPosts out then buildGeminiArchive getPosts out
else genGeminiAction getPost out else genGeminiAction out
".jpg" -> compressImage asset ".jpg" -> compressImage asset
".jpeg" -> compressImage asset ".jpeg" -> compressImage asset
".gif" -> compressImage asset ".gif" -> compressImage asset
@ -384,9 +384,9 @@ genPdfAction _getPost out = do
-- Left _ -> fail "BAD" -- Left _ -> fail "BAD"
-- Right innerMd -> return innerMd -- Right innerMd -> return innerMd
genGeminiAction :: (FilePath -> Action BlogPost) -> [Char] -> Action () genGeminiAction :: [Char] -> Action ()
genGeminiAction getPost out = do genGeminiAction out = do
let srcFile = srcDir </> (dropDirectory1 (dropDirectory1 (out -<.> "org"))) let srcFile = srcDir </> (dropDirectory1 (out -<.> "org"))
need [srcFile] need [srcFile]
command_ [] "./engine/org2gemini.sh" [ srcFile, out ] command_ [] "./engine/org2gemini.sh" [ srcFile, out ]
@ -411,8 +411,8 @@ allAsciiAction = do
allGeminiAction :: Action () allGeminiAction :: Action ()
allGeminiAction = do allGeminiAction = do
allOrgFiles <- getDirectoryFiles srcDir ["//*.org"] allOrgFiles <- getDirectoryFiles srcDir ["//*.org"]
let allGeminiFiles = map (("gemini" </>) . (-<.> "gmi")) allOrgFiles let allGeminiFiles = map (-<.> "gmi") allOrgFiles
need (map build $ allGeminiFiles <> ["gemini" </> "archive.gmi"]) need (map build $ allGeminiFiles <> ["archive.gmi"])
compressImage :: FilePath -> Action () compressImage :: FilePath -> Action ()
compressImage img = do compressImage img = do