https://github.com/hyperpolymath/casket-ssg
Pure functional static site generator in Haskell. Strong type guarantees ensure your site builds correctly.
https://github.com/hyperpolymath/casket-ssg
content-tools functional-programming haskell hyperpolymath poly-ssg publishing ssg static-site static-site-generator templates themes websites websites-and-cms
Last synced: 2 months ago
JSON representation
Pure functional static site generator in Haskell. Strong type guarantees ensure your site builds correctly.
- Host: GitHub
- URL: https://github.com/hyperpolymath/casket-ssg
- Owner: hyperpolymath
- License: other
- Created: 2025-12-16T02:01:24.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-01-10T13:28:02.000Z (2 months ago)
- Last Synced: 2026-01-11T04:11:39.325Z (2 months ago)
- Topics: content-tools, functional-programming, haskell, hyperpolymath, poly-ssg, publishing, ssg, static-site, static-site-generator, templates, themes, websites, websites-and-cms
- Language: Haskell
- Size: 146 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.adoc
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
= casket-ssg
image:https://img.shields.io/badge/license-PMPL--1.0-blue.svg[License,link="https://github.com/hyperpolymath/palimpsest-license"]
image:https://img.shields.io/badge/Philosophy-Palimpsest-purple.svg[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-licence"]
:toc: auto
:toclevels: 2
image:https://img.shields.io/badge/RSR-compliant-gold[RSR Compliant,link=https://github.com/hyperpolymath/rhodium-standard-repositories]
image:https://img.shields.io/badge/poly--ssg-satellite-blue[poly-ssg,link=https://github.com/hyperpolymath/poly-ssg]
**Pure functional static site generator in Haskell.**
== Who Is This For?
* **Haskell developers** who want to build sites with tools they know and love
* **Functional programming enthusiasts** who appreciate compositional design
* **Teams requiring reliability** where type safety prevents runtime surprises
* **Anyone frustrated** by dynamic language site builders that fail at deploy time
== Why casket-ssg?
=== Type Safety That Matters
Your site structure is checked at compile time. Missing templates, broken links, malformed frontmatter - all caught before deployment, not discovered by users.
=== Composable Pipelines
Content transformations compose like functions should. Chain markdown processing, templating, and asset handling with confidence that types align.
=== Lazy Large-Site Builds
Haskell's lazy evaluation means casket-ssg only processes what's needed. Incremental builds are natural, not bolted on.
=== Pandoc Integration
Best-in-class document conversion with full Pandoc support. Markdown, reStructuredText, Org-mode - your content, your format.
== Quick Start
[source,bash]
----
# Install
cabal update
cabal install casket-ssg
# Create a site
casket-ssg init my-site
cd my-site
# Build
casket-ssg build
# Preview locally
casket-ssg serve
----
== Features
* **Compile-time template validation** - broken templates don't build
* **Strong frontmatter types** - YAML parsing with schema enforcement
* **Asset pipeline** - CSS/JS processing with hash-based cache busting
* **Incremental builds** - only rebuild what changed
* **Live reload** - instant preview during development
* **RSS/Atom feeds** - generated automatically from content
* **Sitemap generation** - SEO-ready output
== Requirements
* GHC 9.0 or later
* Cabal 3.0 or Stack 2.0
== Part of poly-ssg
casket-ssg is part of the https://github.com/hyperpolymath/poly-ssg[poly-ssg] family of language-native static site generators, unified through https://github.com/hyperpolymath/poly-ssg-mcp[MCP integration].
== License
PMPL-1.0-or-later