Jasper Van der Jeugt

jaspervdj.be · Personal blog · on HN since 2009

Jasper Van der Jeugt writes about Haskell and is the author of Hakyll, a Haskell static site generator.

What HN saysHN commenters recommend Hakyll to people choosing a static site generator, calling it powerful and the best option for functional programming fans, though not easy to start.
62HN people shared it
41linked it in comments
38stories submitted
657story points
7 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Hakyll is a Haskell library for generating static sites
    29 people · 60 points · first shared 2011 · 7 comments on HN
  2. 2
    Tutorial
    4 people · first shared 2013
  3. 3
    2018 03 08 handle pattern
    3 people · first shared 2022
  4. 4
  5. 5
    Monads and Arrows: modelling a build system
    2 people · 31 points · first shared 2012 · 1 comments on HN
  6. 6
    Show HN: Lorem Markdownum, my weekend project
    2 people · 20 points · first shared 2013 · 2 comments on HN
  7. 7
    Practical testing in Haskell
    2 people · 8 points · first shared 2015 · 2 comments on HN
  8. 8
  9. 9
    Beeraffe
    2 people · 3 points · first shared 2019 · discussion on HN
  10. 10
    Lazy Layout: A fun application of circular programming
    2 people · 2 points · first shared 2023 · discussion on HN
  11. 11
    Blaze
    2 people · first shared 2013
  12. 12
    Turnstyle – An esoteric, graphical functional language
    1 people · 141 points · first shared 2024 · 8 comments on HN
  13. 13
  14. 14
    Image Processing with Comonads
    1 people · 47 points · first shared 2014 · 10 comments on HN
  15. 15

What HN people wrote when they linked it

declnz · 2022-01-31
Love SSGs too! Came here to share praise for Hakyll[1], for people with an FP leaning. Predictably, it's not easy to get started, but once you're into it the power of building your own arbitrary content "compilers" (and template extensions etc etc) is pretty impressive. [1] https://jaspervdj.be/hakyll/
fractalsea · 2014-05-15
I didn't see Hakyll [1] on the list. It is a minimal static site generator written in Haskell. I have just set it up for my first personal site [2]. It is my first experience using a static site generator, and so far I can highly recommend giving it a go. [1] http://jaspervdj.be/hakyll/ [2] http://willsewell.name
danieldk · 2013-12-14
Fell in love with Pandoc after seeing my friend's online course notes[0] processed using it. For websites, it's even more brilliant in conjunction with Hakyll, a static site generator that allows you to create site generation logic via an EDSL. http://jaspervdj.be/hakyll/
tikhonj · 2013-10-29
As far as mechanics go, I've found a great compromise between the power and convenience of a CMS and the simplicity of a static page: using a static site generator. I personally prefer Hakyll[1], as you might have guessed :P. This makes managing a structured site easy without having to configure a complicated server. Of course, it also means you can't have much dynamic content. For something simple--say comments--you could use an external service like Disqus, but you won't be able to do much beyond that without running your own server. [1]: http://jaspervdj.be/hakyll/
waxzce · 2013-08-13
Do you try Hakyll ? http://jaspervdj.be/hakyll/ The best website static generator I think :-) And you can host on EU law with Clever Cloud
yogsototh · 2013-05-06
Also, I can't resist but to mention hakyll[1]. I switched from nanoc to hakyll[2]. The two of them are great to use. [1] - http://jaspervdj.be/hakyll/ [2] - http://yannesposito.com/Scratch/en/blog/Hakyll-setup/
Adaptive · 2011-07-07
For those interested in a lighter weight personal or small scale static site with Haskell, I recommend Hakyll: http://jaspervdj.be/hakyll/
chrisdone · 2011-04-27
Also recommend Hakyll! http://jaspervdj.be/hakyll/ The "configuration" is a Haskell program that uses the Hakyll library as a DSL. I use it for my home page: http://chrisdone.com/ Sauce: https://github.com/chrisdone/chrisdone-homepage/blob/master/hakyll.hs
tmoertel · 2026-04-16
Thanks. I do not have a public, detailed description of how my blog works. But in short, my site build system is powered by a Makefile that invokes Hakyll [1]. My Hakyll configuration has the following rule baked into it for generating HTML docs from Markdown docs in the `posts/` directory: match "posts/*" $ do route $ setExtension "html" let ctx = postCtx tags compile $ pandocMathCompiler >>= loadAndApplyTemplate "templates/post.html" ctx >>= saveSnapshot "content" >>= loadAndApplyTemplate "templates/add-comments.html" ctx >>= loadAndApplyTemplate "templates/default.html" ctx >>= relativizeUrls The `pandocMathCompiler` bit invokes Hakyll's Pandoc subsystem with support for rendering formulas using MathJax. The site Makefile also has rules to build PDF versions of the articles that I want to typeset. The rules just invoke Pandoc directly. For example, here's the rule used to generate the PDF file in my prior comment: sampling-with-sql.pdf: posts/2024-08-23-sampling-with-sql.md ( cd posts && pandoc --metadata-file=../templates/latex-header-includes.yaml -t pdf -o ../[email protected] --pdf-engine=pdflatex ../$< && mv -f ../[email protected] ../$@ ) It's basically a straightforward invocation of Pandoc with a little shell boilerplate to prevent the PDF file from being moved into its final location unless Pandoc exits with success. The Makefile has a final "push" target that makes sure the…
yobbo · 2025-11-02
Build a snake game in stages: https://github.com/lsmor/snake-fury Build a small web-app: https://jaspervdj.be/posts/2017-12-07-getting-things-done-in-haskell.h… (the video link is down, but exists somewhere on youtube.)
alhirzel · 2024-02-06
Others have mentioned static site generators. I like Hakyll [1] because it can tightly integrate with Pandoc [2] and allows you to develop custom solutions (such as `.pdf` downloads) if your needs ever grow. [1]: https://jaspervdj.be/hakyll/ [2]: https://pandoc.org/
manymanydots · 2023-04-25
> No standard and easy way of implementing interfaces. > In Haskell, this is done with typeclasses ... > In OCaml there’s no way to do this. I have to explicitly pass functions along with my values, maybe in a product type, or with a functor, or as an argument. Haskell is a mixed community / paradigm language too. I routinely program in "Braindead Haskell" (keep stuff simple and direct as much as possible). Funnily, in that programming style, using typeclasses for _all_ interface types is bad style. Instead, the Handle pattern [0] can be used. Which really is just shoveling functions in a product type. And imagine - it works worderfully. Everyone has to find their own style I guess. [0]: https://jaspervdj.be/posts/2018-03-08-handle-pattern.html
dwohnitmok · 2022-12-19
It's interesting to see a lot of FP communities independently arriving at the same architectural structures. See e.g. Haskell's "handle:" https://jaspervdj.be/posts/2018-03-08-handle-pattern.html
marbu · 2021-06-08
Btw there is a static page generator utilizing pandoc directly: hakyll[1]. Since it's configuration is done via haskell source code file, you need to be willing to learn a bit of haskell though. [1] https://jaspervdj.be/hakyll/
petercrona · 2020-12-25
In case anyone is curious about the tech: I'm using Hakyll (https://jaspervdj.be/hakyll/index.html) to generate the static website and https://github.com/jaspervdj/hakyll-citeproc-example for reference handling (but adapted so that I have a ".bib" file per blog post). The reference handling was really painful when I tried to do it manually at first, but hakyll-citeproc has made it really easy. A lot of websites let you download a "citation" (in bibtex format) so you can just copy & paste it in your ".bib" file. For others, I use https://www.bibme.org/bibtex to generate one. For deploy, I use a simple deploy script (4 lines of code) that pushes it up to an amazon s3 bucket and clears the Cloudfront cache.
type0 · 2020-10-25
use Hakyll if you want pandoc generated HTML for the website https://jaspervdj.be/hakyll/
diffeomorphism · 2020-05-08
A right click, view source mentions hakyll https://jaspervdj.be/hakyll/ Probably in combination with org-mode http://wikemacs.org/wiki/Blogging
state_less · 2020-04-01
You can avoid parens and have some fun building up HTML with combinators. > numbers n = docTypeHtml $ do > H.head $ do > H.title "Natural numbers" > body $ do > p "A list of natural numbers:" > ul $ forM_ [1 .. n] (li . toHtml) https://jaspervdj.be/blaze/tutorial.html
teodorlu · 2019-12-05
I'm using Pandoc through Hakyll[1]. Hakyll does the static site stuff, and delegates to Pandoc for document conversion. Configuration is in Haskell. [1]: https://jaspervdj.be/hakyll/
0xmohit · 2018-02-27
Here is a tutorial on creating a static site with Hakyll and Github: https://begriffs.com/posts/2014-08-12-create-static-site-with-hakyll-g… EDIT: Tutorials about Hakyll: https://jaspervdj.be/hakyll/tutorials.html
leshow · 2017-11-07
Not necessarily even html, you could write your HTML in a DSL of some sort, write functions that generate HTML, etc. Using that you could keep the backend homogeneous. For example, something like https://jaspervdj.be/blaze/tutorial.html
ubercow · 2017-08-14
If you want something a little more involved, https://jaspervdj.be/hakyll/ is a static site generator that uses pandoc under the hood. Uses a Haskell DSL
niel · 2017-03-19
The author's site appears to be built using Hakyll https://jaspervdj.be/hakyll/, which is a Haskell static site generator. You can find the source for this particular site on Github: https://github.com/barrucadu/barrucadu.co.uk The "clean look" you refer to is mostly thanks to custom CSS though - nothing specifically related to Hakyll. If you're thinking about building a similarly-styled blog or personal site, you could start by studying the styles this author used on their site: https://github.com/barrucadu/barrucadu.co.uk/tree/master/css
rnhmjoj · 2017-02-04
There's also Blaze which is a nice haskell library to write templates or just plain HTML using combinators: https://jaspervdj.be/blaze/tutorial.html
wetmore · 2015-10-25
This is roughly how I learned; I used Hakyll[0] to make my personal site, and working with the Compiler monad it uses taught me to understand monads and use do notation. It's way easier to learn when you have a reason to be learning, and abstractions always make more sense when you have a case to motivate them. [0]: http://jaspervdj.be/hakyll/
yomritoyj · 2015-06-26
Hakyll, which is a static site generator written in Haskell http://jaspervdj.be/hakyll/
benatkin · 2014-05-25
I found the tool used to generate the blog interesting. Hakyll, a static site generator for Haskell inspired by Jekyll, which uses pandoc to generate HTML from Markdown. http://jaspervdj.be/hakyll/
phaer · 2014-05-03
> and yet nobody can ever show me anything written in it other than yet another compiler. http://johnmacfarlane.net/pandoc/ http://git-annex.branchable.com/ http://jaspervdj.be/hakyll/ You are welcome :)
pvorb · 2013-11-26
Hakyll (http://jaspervdj.be/hakyll/) ist pretty sweet if you know Haskell.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close