Markdown document compiler with custom extensions for inserting code and executing scripts. Built on top of Pandoc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
4.4KB

  1. cabal-version: 2.2
  2. name: edify
  3. version: 0.4.1.0
  4. synopsis: Markdown (via pandoc) processing and content tools for Devalot.com
  5. license: BSD-3-Clause
  6. license-file: LICENSE.md
  7. author: Peter Jones <pjones@devalot.com>
  8. maintainer: Peter Jones <pjones@devalot.com>
  9. copyright: Copyright (c) 2013-2020 Peter Jones
  10. category: Text
  11. build-type: Simple
  12. tested-with: GHC==8.8.3
  13. homepage: https://github.com/pjones/edify
  14. bug-reports: https://github.com/pjones/edify/issues
  15. description: TODO
  16. ------------------------------------------------------------------------------
  17. extra-source-files:
  18. README.md
  19. test/*.txt
  20. --------------------------------------------------------------------------------
  21. -- Files needed at run time.
  22. data-files:
  23. data/templates/default.latex
  24. data/images/*.pdf
  25. ------------------------------------------------------------------------------
  26. flag maintainer
  27. description: Enable settings for the package maintainer.
  28. manual: True
  29. default: False
  30. --------------------------------------------------------------------------------
  31. common options
  32. default-language:
  33. Haskell2010
  34. ghc-options:
  35. -Wall
  36. -Wno-name-shadowing
  37. -Werror=incomplete-record-updates
  38. -Werror=incomplete-uni-patterns
  39. -Werror=missing-home-modules
  40. -Widentities
  41. -Wmissing-export-lists
  42. -Wredundant-constraints
  43. if flag(maintainer)
  44. ghc-options: -Werror
  45. --------------------------------------------------------------------------------
  46. common extensions
  47. default-extensions:
  48. GeneralizedNewtypeDeriving
  49. MultiParamTypeClasses
  50. OverloadedStrings
  51. RecordWildCards
  52. ScopedTypeVariables
  53. --------------------------------------------------------------------------------
  54. common dependencies
  55. build-depends: base >= 4.8 && < 5.0
  56. , aeson >= 1.4 && < 1.5
  57. , attoparsec >= 0.13 && < 0.14
  58. , containers >= 0.5 && < 1.0
  59. , data-default >= 0.7 && < 0.8
  60. , directory >= 1.3 && < 1.4
  61. , fgl >= 5.5 && < 5.8
  62. , filepath >= 1.3 && < 2.0
  63. , mtl >= 2.2 && < 2.3
  64. , network-uri >= 2.5 && < 2.7
  65. , optparse-applicative >= 0.7 && < 1.0
  66. , pandoc >= 2.9 && < 2.10
  67. , pandoc-types >= 1.20 && < 2.0
  68. , process >= 1.1 && < 2.0
  69. , relude >= 0.5 && < 0.7
  70. , shake >= 0.15 && < 0.19
  71. , text >= 0.11 && < 1.3
  72. mixins: base hiding (Prelude)
  73. , relude (Relude as Prelude)
  74. ------------------------------------------------------------------------------
  75. library
  76. import: options, extensions, dependencies
  77. exposed-modules:
  78. -- Text.Edify.Build
  79. Text.Edify.Build.FilePath
  80. Text.Edify.Build.Markdown
  81. Text.Edify.Build.Options
  82. Text.Edify.Build.Plan
  83. Text.Edify.Build.Target
  84. Text.Edify.Build.Template
  85. Text.Edify.Build.Rules
  86. Text.Edify.File.Manifest
  87. Text.Edify.File.Stitch
  88. Text.Edify.File.Time
  89. Text.Edify.Filter
  90. Text.Edify.Filter.FilterT
  91. Text.Edify.Filter.Div
  92. Text.Edify.Filter.Exec
  93. Text.Edify.Filter.Image
  94. Text.Edify.Filter.Insert
  95. Text.Edify.Filter.Options
  96. Text.Edify.Rewrite.Outline
  97. Text.Edify.Time.TimeCode
  98. Text.Edify.Time.TimeTree
  99. Text.Edify.Util.Error
  100. Text.Edify.Util.HeaderTree
  101. Text.Edify.Util.Inclusion
  102. Text.Edify.Util.Indent
  103. Text.Edify.Util.Markdown
  104. Text.Edify.Util.Narrow
  105. Text.Edify.Util.Parse
  106. other-modules:
  107. Paths_edify
  108. hs-source-dirs: src/lib
  109. ------------------------------------------------------------------------------
  110. executable edify
  111. import: options, extensions, dependencies
  112. hs-source-dirs: src/bin
  113. main-is: Main.hs
  114. other-modules:
  115. Build
  116. Filter
  117. Outline
  118. Stitch
  119. Paths_edify
  120. build-depends: edify
  121. ------------------------------------------------------------------------------
  122. test-suite test
  123. import: options, extensions, dependencies
  124. type: exitcode-stdio-1.0
  125. hs-source-dirs: test
  126. main-is: Main.hs
  127. other-modules:
  128. InclusionTest
  129. ManifestTest
  130. TimeCodeTest
  131. TimeFileTest
  132. build-depends: edify
  133. , tasty >= 1.2
  134. , tasty-hunit >= 0.10