Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CleanMagic for Hakyll

This theme is a fork of CleanMagicMedium-Jekyll originally published by Lucas Gatsas.

Installation instructions

Note that this theme has specific design features that require a custom written siteCtx context that contains specific field values mapped to the template fields. For example, $site_description$ in the template files is mapped to the constant field with the string, "my beautiful blog".

siteCtx :: Context String
siteCtx = 
    constField "baseurl" "http://localhost:8000" `mappend` 
    constField "site_description" "my beautiful blog" `mappend`
    constField "instagram_username" "" `mappend`
    constField "twitter_username" "katychuang" `mappend`
    constField "github_username" "katychuang" `mappend`
    constField "google_username" "katychuang" `mappend`

Once you have the field strings written as how you'd like it, make sure that you're connecting this function where your pages are being rendered, for example in creating the index.html page, you want to include it, similar to the following (ref):

match "index.html" $ do
    route idRoute
    compile $ do
        posts <- recentFirst =<< loadAll "posts/*"
        let indexCtx =
                listField "posts" postCtx (return posts) `mappend`
                constField "title" "Home"                `mappend`
                siteCtx -- INCLUDE THE CUSTOM FUNCTION, it sends variable/values to the template in the lines below

            >>= applyAsTemplate indexCtx
            >>= loadAndApplyTemplate "templates/default.html" indexCtx
            >>= relativizeUrls

Building with Stack

Building your site using stack is covered here.

A quick recap:

$ stack build
$ stack exec CleanMagic-hakyll build # or rebuild if you made changes to site.hs


$ stack exec CleanMagic-hakyll watch

And access the site at:


This theme features a top navigation bar, and an area for beautiful header background images. Clean and serene, it's sure to give your posts an extra polish.