ema-0.2.0.0: ema.cabal
cabal-version: 2.4
name: ema
version: 0.2.0.0
license: AGPL-3.0-only
copyright: 2021 Sridhar Ratnakumar
maintainer: srid@srid.ca
author: Sridhar Ratnakumar
category: Web
synopsis: Static site generator library with hot reload
bug-reports: https://github.com/srid/ema/issues
homepage: https://ema.srid.ca/
description:
Ema is a next-gen Haskell library for building jamstack-style static sites.
Ema sites are change-aware; in addition to good ol’ static site generation,
it provides a live server supporting fast hot-reload in the browser on code
or data change.
extra-source-files:
CHANGELOG.md
LICENSE
README.md
flag with-examples
description: Include examples and their dependencies
default: True
flag with-helpers
description: Include helper modules based on blaze-html
default: True
library
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
, aeson
, async
, base >=4.13.0.0 && <=4.17.0.0
, containers
, data-default
, directory
, filepath
, filepattern
, http-types
, lvar
, monad-logger
, monad-logger-extras
, neat-interpolation
, optparse-applicative
, relude >=0.7 && <1.0
, safe-exceptions
, stm
, text
, unicode-transforms
, unionmount
, unliftio
, uri-encode
, wai
, wai-middleware-static
, wai-websockets
, warp
, websockets
if (flag(with-helpers) || flag(with-examples))
build-depends:
, blaze-html
, blaze-markup
, commonmark
, commonmark-extensions
, commonmark-pandoc
, fsnotify ^>=0.3
, megaparsec
, pandoc-types
, parsec
, parser-combinators
, time
, yaml
if flag(with-examples)
build-depends: time
mixins:
base hiding (Prelude),
relude (Relude as Prelude, Relude.Container.One),
relude
ghc-options:
-Wall -Wincomplete-record-updates -Wincomplete-uni-patterns
default-extensions:
FlexibleContexts
FlexibleInstances
KindSignatures
LambdaCase
MultiParamTypeClasses
MultiWayIf
OverloadedStrings
ScopedTypeVariables
TupleSections
ViewPatterns
exposed-modules:
Ema
Ema.CLI
if (flag(with-helpers) || flag(with-examples))
exposed-modules:
Ema.Helper.FileSystem
Ema.Helper.Markdown
Ema.Helper.PathTree
Ema.Helper.Tailwind
other-modules:
Ema.App
Ema.Asset
Ema.Class
Ema.Generate
Ema.Route
Ema.Route.Slug
Ema.Server
if flag(with-examples)
exposed-modules:
Ema.Example.Ex01_HelloWorld
Ema.Example.Ex02_Basic
Ema.Example.Ex03_Clock
hs-source-dirs: src
default-language: Haskell2010