packages feed

knit-haskell-0.6.0.0: knit-haskell.cabal

cabal-version:       2.4

name:                knit-haskell
version:             0.6.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,                     
                     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
                     and diagrams from the <https://archives.haskell.org/projects.haskell.org/diagrams/ diagrams>
                     package. 
                     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, Readme.md
data-dir:            data
data-files:
           knit-haskell-templates/*.html
           knit-haskell-css/*.css
           pandoc-data/templates/*.html4
           pandoc-data/templates/*.html5
           pandoc-data/templates/default.latex
           pandoc-data/templates/default.markdown
           pandoc-data/templates/default.commonmark
           pandoc-data/templates/default.haddock

tested-with: GHC ==8.6.4
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
  ghc-options: -fplugin=Polysemy.Plugin
--  ghc-options: -fdefer-type-errors -fno-warn-deferred-type-errors
-- when generating haddocks, comment out the plugin and uncomment the one above
  exposed-modules: Knit.Effect.Logger
                 , Knit.Effect.Docs
                 , Knit.Effect.Html
                 , Knit.Effect.PandocMonad
                 , Knit.Effect.Pandoc
                 , Knit.Effect.UnusedId
                 , Knit.Report
                 , 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.Input.Visualization.Diagrams
                 , Knit.Report.Output
                 , Knit.Report.Output.Html
                 , Knit.Report.Other.Lucid
                 , Knit.Report.Other.Blaze
  other-modules:   Paths_knit_haskell
  autogen-modules: Paths_knit_haskell                                  

  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.5.0 && < 0.7,
                    constraints                       >= 0.10 && < 0.12,
                    directory                         >= 1.3.3.0 && < 1.4.0.0,
                    diagrams-lib                      >= 1.4 && < 1.5.0.0,
                    diagrams-svg                      >= 1.4.1 && < 1.5.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.2.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.3.0.0 && < 0.5.0.0,
                    polysemy-plugin                   >= 0.2.0.0 && < 0.3.0.0,
                    polysemy-zoo                      >= 0.3.0.0 && < 0.4.0,
                    prettyprinter                     >= 1.2.1 && < 1.4,
                    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,
                    svg-builder                       >= 0.1.1 && < 0.2

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


test-suite SimpleExample
    type: exitcode-stdio-1.0
    main-is: SimpleExample.hs
    hs-source-dirs: examples
    ghc-options: -fplugin=Polysemy.Plugin
    build-depends: base,
                   blaze-html,
                   containers,
                   here                              >= 1.2.10 && < 1.3.0,
                   hvega,     
                   knit-haskell                      -any,
                   plots                             >= 0.1.1.0 && <= 0.2,
                   polysemy,
                   polysemy-plugin,
                   text      
    default-language: Haskell2010

test-suite ErrorExample
    type: exitcode-stdio-1.0
    main-is: ErrorExample.hs
    hs-source-dirs: examples
    ghc-options: -fplugin=Polysemy.Plugin
    build-depends: base,
                   blaze-html,
                   containers,
                   here                              >= 1.2.10 && < 1.3.0,
                   hvega,     
                   knit-haskell                      -any,
                   polysemy,
                   polysemy-plugin,                   
                   text      
    default-language: Haskell2010

test-suite MultiDocExample
    type: exitcode-stdio-1.0
    main-is: MultiDocExample.hs
    hs-source-dirs: examples
    ghc-options: -fplugin=Polysemy.Plugin
    build-depends: base,
                   blaze-html,
                   containers,
                   here                              >= 1.2.10 && < 1.3.0,
                   hvega,     
                   knit-haskell                      -any,
                   polysemy,
                   polysemy-plugin,                   
                   text      
    default-language: Haskell2010

test-suite MtlExample
    type: exitcode-stdio-1.0
    main-is: MtlExample.hs
    hs-source-dirs: examples
    ghc-options: -fplugin=Polysemy.Plugin
    build-depends: base,
                   blaze-html,
                   containers,
                   here,
                   hvega,
                   knit-haskell                      -any,
                   mtl,
                   polysemy,
                   polysemy-plugin,                   
                   text
    default-language: Haskell2010

test-suite RandomExample
    type: exitcode-stdio-1.0
    main-is: RandomExample.hs
    hs-source-dirs: examples
    ghc-options: -fplugin=Polysemy.Plugin 
    build-depends: base,
                   blaze-html,
                   colonnade,
                   containers,
                   here,
                   hvega,
                   knit-haskell                      -any,
                   mtl,
                   polysemy,
                   polysemy-plugin,
                   polysemy-RandomFu >= 0.2.0.0,
                   random-fu,
                   random-source,
                   text
    default-language: Haskell2010