This theme is based on no style, please!, and heavily modified for Hakyll.
Project built using Cabal 3.10.3 and GHC 9.4.8
# build site
$ cabal run site build
- Syntax highlighting via Prism.js
- Section hyperlink (check this article)
- Tags support (check this article)
- Dark mode support with toggle button (mostly usable)
- Use
Noto Sans Mono
font from Google Fonts - A simple eDSL to configure the index page (or use your own)
content/Index.hs
: the (default) index page of the sitecontent/*.md
: other (non-post) pages of the site (like about, contact etc)posts/yyyy-mm-dd-*.md
: all your posts here (prefixed with dates)images/favicon.ico
: the favicon of the site
To customize homepage contents, modify the content/Index.hs
file (checkout the file for example). Note: you probably need to rebuild the site after modifying Index.hs
.
- To change the title, modify
title :: String
. - To modify the contents, modify
content :: Content ()
. You can find a simple eDSL guide below:section :: String -> Maybe String -> Content () -> Content ()
Creates an entry with a title, optionally an URL, and some contents in the sectionposts :: String -> Content ()
Creates an entry of post list with a titlenone :: Content ()
Empty contenthtml :: Html -> Content ()
Raw html contents (checkout blaze-html)txt :: Text -> Content ()
Text contents (no fancy markups)markdown :: Text -> Content ()
Markdown contents
If you don't want to use the eDSL, you can always create your own index page (e.g. content/index.html
), and set index = File "index.html"
.
Q: Why an eDSL?
A: Building an eDSL is just fun OwO (or I need to write a bunch of code to handle yaml, and it could be less flexible)
Licensed under MIT.