cabal-version:       >= 1.10
-- Initial package description 'hablo.cabal' generated by 'cabal init'.
-- For further documentation, see http://haskell.org/cabal/users-guide/

name:                hablo
version:             1.0.3.0
synopsis:            A minimalist static blog generator
description:
  Hablo is a fediverse-oriented static blog generator for articles written
  in Markdown. It tries to generate as little HTML as needed and uses
  Javascript to implement dynamic features in the browser.

  Those features include the handling of comments and a cached navigation
  to minimize the queries to the server. Hablo also generate cards for all
  pages, including articles for prettier shares on social-networks.
homepage:            https://git.marvid.fr/Tissevert/hablo
-- bug-reports:
license:             BSD3
license-file:        LICENSE
author:              Tissevert
maintainer:          tissevert+devel@marvid.fr
-- copyright:
category:            Web
extra-source-files:  CHANGELOG.md
build-type:          Simple
data-dir:            share
data-files:          js/*.js
                     defaultWording.conf

library hablo-internals
  exposed-modules:     Arguments
                     , Article
                     , ArticlesList
                     , Blog
                     , Blog.Path
                     , Blog.Template
                     , Blog.Skin
                     , Blog.URL
                     , Blog.Wording
                     , Collection
                     , DOM
                     , DOM.Card
                     , Files
                     , HTML
                     , JS
                     , JSON
                     , Markdown
                     , Page
                     , Paths_hablo
                     , Pretty
                     , RSS
  -- other-extensions:
  build-depends:       aeson >= 1.4.0 && < 1.5
                     , base >= 4.9.1 && < 4.13
                     , bytestring >= 0.10.8 && < 0.11
                     , containers >= 0.5.11 && < 0.7
                     , directory >= 1.3.1 && < 1.4
                     , filepath >= 1.4.2 && < 1.5
                     , lucid >= 2.9.11 && < 2.10
                     , mtl >= 2.2.2 && < 2.3
                     , optparse-applicative >= 0.14.3 && < 0.16
                     , parsec >= 3.1.13 && < 3.2
                     , template >= 0.2.0 && < 0.3
                     , text >= 1.2.3 && < 1.3
                     , time >= 1.8.0 && < 1.9
                     , SJW >= 0.1.2 && < 0.2
                     , unix >= 2.7.2 && < 2.8
  ghc-options:         -Wall
  hs-source-dirs:      src
  default-language:    Haskell2010

executable hablo
  main-is:             src/Main.hs
  other-modules:       Paths_hablo
  -- other-extensions:
  build-depends:       base >= 4.9.1 && < 4.13
                     , hablo-internals
                     , mtl >= 2.2.2 && < 2.3
  ghc-options:         -Wall -dynamic
  default-language:    Haskell2010

test-suite tests
  type:                detailed-0.9
  test-module:         Tests
  other-modules:       Mock.Article
                     , Mock.Blog
                     , XML.Card
  build-depends:       base
                     , containers
                     , Cabal
                     , hablo-internals
                     , mtl
                     , text
  hs-source-dirs:      test
  ghc-options:         -Wall
  default-language:    Haskell2010