cabal-version:       2.2

name:                knit-haskell
version:             0.2.0.0
synopsis:            a minimal Rmarkdown sort-of-thing for haskell, by way of Pandoc
description:         knit-haskell is a beginning attempt at bringing some of the benefits of
                     Rmarkdown to Haskell.
                     It includes an effects stack
                     (using <https://github.com/isovector/polysemy#readme polysemy> rather than mtl)
                     which includes logging, randomness
                     (via <http://hackage.haskell.org/package/random-fu random-fu>),
                     a simplified interface to Pandoc and various writer-like effects to
                     intersperse document building with regular code.
                     Various helper functions are provided to simplify common operations,
                     making it especially straightforward to build
                     an HTML document from bits of markdown,
                     latex and <http://hackage.haskell.org/package/lucid Lucid>
                     or <http://hackage.haskell.org/package/blaze-html Blaze> html.
                     Support is also included for including
                     <http://hackage.haskell.org/package/hvega hvega> visualizations.
                     More information is available in the <https://github.com/adamConnerSax/knit-haskell/blob/master/Readme.md readme>.
bug-reports:         https://github.com/adamConnerSax/knit-haskell/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Adam Conner-Sax
maintainer:          adam_conner_sax@yahoo.com
copyright:           2019 Adam Conner-Sax
category:            Text
extra-source-files:  ChangeLog.md
tested-with: GHC ==8.6.4 || ==8.6.2                     
Build-type: Simple

source-repository head
    Type: git
    Location: https://github.com/adamConnerSax/knit-haskell
                                      
library
  ghc-options: -Wall -fno-warn-unused-top-binds -funbox-strict-fields
  exposed-modules: Knit.Effect.Logger
                 , Knit.Effect.Docs
                 , Knit.Effect.Html
                 , Knit.Effect.RandomFu
                 , Knit.Effect.PandocMonad
                 , Knit.Effect.Pandoc
                 , Knit.Report.Input.Table.Colonnade
                 , Knit.Report.Input.Html
                 , Knit.Report.Input.Html.Lucid
                 , Knit.Report.Input.Html.Blaze
                 , Knit.Report.Input.Latex
                 , Knit.Report.Input.MarkDown.PandocMarkDown
                 , Knit.Report.Input.Visualization.Hvega
                 , Knit.Report.Output
                 , Knit.Report.Output.Html
                 , Knit.Report
                 , Knit.Report.Other.Lucid
                 , Knit.Report.Other.Blaze

  build-depends:    aeson-pretty                      >= 0.8.7 && < 0.9,
                    base                              >= 4.12.0 && < 4.13,
                    base64-bytestring                 >= 1.0.0.2 && < 1.1.0.0,
                    blaze-colonnade                   >= 1.2.2  && < 1.3.0.0,
                    bytestring                        >= 0.10.8 && < 0.11,
                    case-insensitive                  >= 1.2.0.11 && < 1.3.0.0,
                    colonnade                         >= 1.1 && < 1.3,
                    containers                        >= 0.6.0 && < 0.7,
                    directory                         >= 1.3.3.0 && < 1.4.0.0,
                    Glob                              >= 0.10.0 && < 0.11.0,
                    http-client                       >= 0.6.4 && < 0.7.0,
                    http-client-tls                   >= 0.3.5.3 && < 0.4.0.0,
                    http-types                        >= 0.12.3 && < 0.13.0,
                    network                           >= 2.8.0.0 && < 3.1.0.0,
                    network-uri                       >= 2.6.1.0 && < 2.7.0.0,
                    text                              >= 1.2.3 && < 1.3,
                    time                              >= 1.8.0 && < 2.0.0,
                    random                            >= 1.1 && < 1.2,
                    blaze-html                        >= 0.9.1 && < 0.10,
                    hvega                             >= 0.1.0 && <= 0.2.0.0,
                    logging-effect                    >= 1.3.3 && < 1.4,
                    mtl                               >= 2.2.2 && < 2.3,
                    polysemy                          >= 0.1.2.0 && < 0.2.0.0,
                    prettyprinter                     >= 1.2.1 && < 1.3,
                    lucid                             >= 2.9.11 && < 2.10,
                    pandoc                            >= 2.7.2 && < 2.8,
                    random-fu                         >= 0.2.7 && < 0.3,
                    random-source                     >= 0.3.0 && < 0.4,

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


executable SimpleExample
    main-is: SimpleExample.hs
    hs-source-dirs: examples
    ghc-options: -Wall 
    build-depends: base,
                   blaze-html,
                   containers,
                   here                              >= 1.2.10 && < 1.3.0,
                   hvega,     
                   knit-haskell                      -any,
                   polysemy,  
                   text      
    default-language: Haskell2010

executable MultiDocExample
    main-is: MultiDocExample.hs
    hs-source-dirs: examples
    ghc-options: -Wall 
    build-depends: base,
                   blaze-html,
                   containers,
                   here                              >= 1.2.10 && < 1.3.0,
                   hvega,     
                   knit-haskell                      -any,
                   polysemy,  
                   text      
    default-language: Haskell2010

executable MtlExample
    main-is: MtlExample.hs
    hs-source-dirs: examples
    ghc-options: -Wall 
    build-depends: base,
                   blaze-html,
                   containers,
                   here,
                   hvega,
                   knit-haskell                      -any,
                   mtl,
                   polysemy,
                   text
    default-language: Haskell2010

executable RandomExample
    main-is: RandomExample.hs
    hs-source-dirs: examples
    ghc-options: -Wall 
    build-depends: base,
                   blaze-html,
                   colonnade,
                   containers,
                   here,
                   hvega,
                   knit-haskell                      -any,
                   mtl,
                   polysemy,
                   random-fu,
                   text
    default-language: Haskell2010