packages feed

ede-0.2.3: ede.cabal

name:                  ede
version:               0.2.3
synopsis:              Templating language with similar syntax and features to Liquid or Jinja2.
homepage:              http://github.com/brendanhay/ede
license:               OtherLicense
license-file:          LICENSE
author:                Brendan Hay
maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
copyright:             Copyright (c) 2013-2014 Brendan Hay
stability:             Experimental
category:              Text, Template, Web
build-type:            Simple
cabal-version:         >= 1.10

description:
    ED-E is a templating language written in Haskell with a specific set of features:
    .
    * Logicless within reason. A small set of consistent predicates
    and expressions for formatting and presentational logic are provided.
    .
    * Secure. No arbitrary code evaluation, with input data required to be fully specified
    at render time.
    .
    * Stateless. Parsing and rendering are separate steps so that loading, parsing,
    include resolution, and embedding of the compiled template can optionally be
    done ahead of time, amortising cost.
    .
    * Markup agnostic. ED-E is used to write out everything from configuration files for
    system services, to HTML and formatted emails.
    .
    * Control over purity. Users can choose pure or IO-based resolution of
    @include@ expressions.
    .
    * No surprises. All parsing, type assurances, and rendering steps report helpful
    error messages with line/column metadata. Variable shadowing, unprintable expressions,
    implicit type coercion, and unbound variable access are all treated as errors.

extra-source-files:
    README.md

source-repository head
    type:     git
    location: git://github.com/brendanhay/ede.git

flag build-executable
    description: Whether to build the ede executable.
    default:     False
    manual:      True

library
    default-language:  Haskell2010
    hs-source-dirs:    src

    exposed-modules:
        Text.EDE
      , Text.EDE.Filters

    other-modules:
        Text.EDE.Internal.AST
      , Text.EDE.Internal.Eval
      , Text.EDE.Internal.Parser
      , Text.EDE.Internal.Quoting
      , Text.EDE.Internal.Filters
      , Text.EDE.Internal.Syntax
      , Text.EDE.Internal.Types

      , Paths_ede

    ghc-options:       -Wall

    build-depends:
        aeson                >= 0.7
      , ansi-wl-pprint       >= 0.6.6
      , base                 >= 4.6   && < 5
      , bifunctors           >= 4
      , bytestring           >= 0.9
      , comonad              >= 4.2
      , directory            >= 1.2
      , filepath             >= 1.2
      , free                 >= 4.8
      , lens                 >= 4.0
      , mtl                  >= 2.2
      , parsers              >= 0.12.1.1
      , scientific           >= 0.3.1
      , semigroups           >= 0.15
      , text                 >= 1.2   && < 1.3
      , text-format          >= 0.3
      , text-manipulate      >= 0.1.2
      , trifecta             >= 1.5.1
      , unordered-containers >= 0.2.3
      , vector               >= 0.7.1

executable ede
    default-language:  Haskell2010
    main-is:           src/Main.hs

    ghc-options:       -Wall -rtsopts "-with-rtsopts=-T -I0"

    if !flag(build-executable)
        buildable: False
    else
        build-depends:
            aeson
          , base                 >= 4.6 && < 5
          , bytestring
          , conduit              == 1.2.*
          , conduit-extra        == 1.1.*
          , directory
          , ede
          , optparse-applicative == 0.11.*
          , text

test-suite golden
    default-language:  Haskell2010
    type:              exitcode-stdio-1.0
    hs-source-dirs:    test
    main-is:           Main.hs

    ghc-options:       -Wall -threaded

    build-depends:
        aeson
      , base          >= 4.6 && < 5
      , bifunctors
      , bytestring
      , directory
      , ede
      , text
      , tasty
      , tasty-golden