aboutsummaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-17 14:26:52 +0200
committerEugen Wissner <belka@caraus.de>2026-07-17 14:26:52 +0200
commite844a70479915d1fba0336800b35c8c1022b61c6 (patch)
treecc9402a686380d5b14a43146c10cc3a57a55fd14 /src/Main.hs
parent8f954ab7c662e0c507c2328d5b2683fbd4c3a391 (diff)
downloadflevum-e844a70479915d1fba0336800b35c8c1022b61c6.tar.gz
Convert preprocesser files to plain CSSHEADmaster
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 62fa761..c9a5137 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -29,6 +29,7 @@ import Hakyll.Core.Rules
, compile
, route
, match
+ , create
)
import Hakyll.Web.CompressCss (compressCssCompiler)
import Hakyll.Web.Html (demoteHeaders, withUrls)
@@ -260,6 +261,24 @@ createPaginatedPage rulesBuilder pagePattern prefix =
grouper :: [Identifier] -> Rules [[Identifier]]
grouper = fmap (paginateEvery 25) . sortRecentFirst
+-- The order of merging is significant.
+styles :: Compiler [Item String]
+styles = traverse load
+ [ "assets/css/base/vars.css"
+ , "assets/css/base/reset.css"
+ , "assets/css/base/fonts.css"
+ , "assets/css/base/syntax.css"
+ , "assets/css/base/animations.css"
+ , "assets/css/layout.css"
+ , "assets/css/pages/fourofour.css"
+ , "assets/css/components/post.css"
+ , "assets/css/components/page.css"
+ , "assets/css/components/pagination.css"
+ , "assets/css/partials/header-separator.css"
+ , "assets/css/partials/burger-menu.css"
+ , "assets/css/custom.css"
+ ]
+
--
-- Hakyll rules.
--
@@ -297,9 +316,11 @@ rules = do
copyMatchedFiles "assets/fonts/*.woff2"
copyMatchedFiles "assets/images/**"
- match "assets/css/*.css"
+ -- Styles.
+ match "assets/css/**.css" $ compile compressCssCompiler
+ create ["assets/css/styles.css"]
$ route idRoute
- >> compile compressCssCompiler
+ >> compile (styles >>= makeItem . concatMap itemBody)
main :: IO ()
main = hakyllWith configuration rules