Skip to content

Commit cb34fb2

Browse files
authored
add slick static site generator (#845)
Signed-off-by: Muhammad Aviv Burhanudin <[email protected]>
1 parent e50e1c5 commit cb34fb2

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

src/site/generators/slick.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: Slick
3+
repo: ChrisPenner/slick
4+
homepage: https://github.com/ChrisPenner/slick
5+
language:
6+
- Haskell
7+
license:
8+
- BSD-3-Clause
9+
templates:
10+
- Mustache
11+
description: Slick is a static site generator written and configured using Haskell. It's the spiritual successor to my previous static-site generator project SitePipe; but is faster, simpler, and more easily used in combination with other tools.
12+
---
13+
14+
Slick provides a small set of tools and combinators for building static
15+
websites on top of the [Shake](https://shakebuild.com/) build system. Shake is
16+
adaptable, fast, reliable, and caches aggressively so it's a sensible tool for
17+
static-site builds, but figuring out how to get started can be a bit abstract. Slick aims to answer the question of
18+
'how do I get a site building?' while giving you the necessary tools and examples to figure out how to accomplish your
19+
goals.
20+
21+
Here's a quick overview of what Slick can do:
22+
23+
- Slick uses the Shake build tool; the same used by ghcide! We recommend using `Development.Shake.Forward`; it auto-discovers which resources it should cache as you go! This means a blazing fast static site builder without all the annoying dependency tracking.
24+
- Slick provides helpers for loading in blog-post-like things using Pandoc under the hood;
25+
- This means that if Pandoc can read it, you can use it with Slick!
26+
- Write your blog posts in Markdown or LaTeX and render it to
27+
syntax-highlighted HTML!
28+
- Slick processes Pandoc (and LaTeX) metadata into a usable form (as an
29+
[Aeson](https://hackage.haskell.org/package/aeson) Value object) which you can manipulate as you please.
30+
- Slick provides combinators for rendering [Mustache templates](https://mustache.github.io/)
31+
- Slick wraps Justus Adam's [Mustache](http://hackage.haskell.org/package/mustache-2.3.0/docs/Text-Mustache.html)
32+
library and provides cached template rendering with awareness of changes to templates, partials, and Mustache
33+
objects.
34+
- It's a thin wrapper so you can still use things like Mustache functions, etc. if you like!
35+
- Provides only the individual tools without opinions about how to wire them up; if you want to load blog posts from
36+
a database and render them out using Blaze html; well go ahead, we can help with that!
37+
- Provides caching of arbitrary (JSON serializable) objects using Shake resulting in super-fast rebuild times!

0 commit comments

Comments
 (0)