cabal-version: 2.4 name: neuron -- This version must be in sync with what's in Default.dhall version: 1.0.0.0 license: AGPL-3.0-only copyright: 2020 Sridhar Ratnakumar maintainer: srid@srid.ca author: Sridhar Ratnakumar category: Web homepage: https://neuron.zettel.page bug-reports: https://github.com/srid/neuron/issues synopsis: Future-proof system for plain-text notes. description: neuron is a future-proof system for managing your plain-text Zettelkasten notes. data-files: src-js/search.js src-bash/neuron-search source-repository head type: git location: https://github.com/srid/neuron flag ghcid default: False manual: True common ghc-common ghc-options: -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns common library-common import: ghc-common default-language: Haskell2010 build-depends: base >=4.12 && < 4.14, aeson, mtl, text, time, relude, filepath, algebraic-graphs >= 0.5, parser-combinators, containers, filepattern, megaparsec, commonmark ^>= 0.1.0.2, commonmark-extensions ^>= 0.2.0.0, commonmark-pandoc >= 0.1.0.0 && < 0.3, pandoc-types >= 1.21, parsec, modern-uri, HsYAML, aeson-gadt-th, dependent-sum, dependent-sum-template, dependent-sum-aeson-orphans >= 0.2.1.0, data-default, reflex, reflex-dom-core, reflex-dom-pandoc >= 0.6.0.0, clay, tagged library import: library-common hs-source-dirs: src/lib exposed-modules: Neuron.Config.Type Neuron.Reader.Markdown Neuron.Reader.Type Neuron.Zettelkasten.ID Neuron.Zettelkasten.Zettel Neuron.Zettelkasten.Zettel.Meta Neuron.Zettelkasten.Zettel.Parser Neuron.Zettelkasten.Connection Neuron.Zettelkasten.Query Neuron.Zettelkasten.Query.Graph Neuron.Zettelkasten.Query.Error Neuron.Zettelkasten.Query.Eval Neuron.Zettelkasten.Query.Parser Neuron.Zettelkasten.Query.Theme Neuron.Zettelkasten.Graph Neuron.Zettelkasten.Graph.Type Neuron.Zettelkasten.Graph.Build Neuron.Web.Route Neuron.Web.Manifest Neuron.Web.Common Neuron.Web.Widget Neuron.Web.Widget.AutoScroll Neuron.Web.Widget.InvertedTree Neuron.Web.Query.View Neuron.Web.Zettel.View Neuron.Web.Zettel.CSS Neuron.Web.ZIndex Neuron.Web.Theme Neuron.Orphans Text.Megaparsec.Simple Text.Pandoc.Util Text.URI.Util Data.TagTree Data.PathTree Data.Graph.Labelled Data.Graph.Labelled.Type Data.Graph.Labelled.Algorithm Data.Graph.Labelled.Build Data.Time.DateMayTime common app-common import: library-common default-language: Haskell2010 build-depends: base >=4.12 && < 4.14, aeson, clay -any, mtl, containers, directory, exceptions, file-embed, optparse-applicative, pandoc, -- Use skylighting >= 0.9 as they are written in pure Haskell skylighting-core >= 0.9, relude, iso8601-time, rib-core >=1.0, shake -any, time, text, modern-uri, foldl, filepath, dhall >= 1.30, which, unix, megaparsec >= 8.0, dependent-sum >= 0.7, dependent-sum-template, data-default, uuid, shake, with-utf8, shower, either, uri-encode -- Everything below will have to be stripped away, if whoever uses this repo -- will want to avoid non-core dependencies. Cabal doesn't seem to provide a way -- to selectively dependent on a library without pulling in every stanza defined -- here. -- cf. https://www.srid.ca/2012605.html library neuron-app-lib import: app-common hs-source-dirs: src/app exposed-modules: Data.Structured.Breadcrumb Data.Structured.OpenGraph Data.Structured.OpenGraph.Render Neuron.CLI Neuron.CLI.New Neuron.CLI.Open Neuron.CLI.Rib Neuron.CLI.Search Neuron.CLI.Types Neuron.Config Neuron.Config.Alias Neuron.Config.Orphans Neuron.Version Neuron.Web.Cache Neuron.Web.HeadHtml Neuron.Web.Generate Neuron.Web.Generate.Route Neuron.Web.View Neuron.Web.StructuredData Neuron.Reader Neuron.Reader.Org Neuron.Zettelkasten.ID.Scheme autogen-modules: Paths_neuron other-modules: Paths_neuron -- A trick to make ghcid reload if library dependencies change -- https://www.srid.ca/2012605.html if flag(ghcid) hs-source-dirs: src/lib else build-depends: neuron test-suite neuron-test import: app-common type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Spec.hs build-depends: relude, hspec, QuickCheck, time default-language: Haskell2010 if (flag(ghcid)) hs-source-dirs: src/lib src/app else build-depends: neuron, neuron-app-lib other-modules: Data.PathTreeSpec Data.TagTreeSpec Data.Graph.Labelled.AlgorithmSpec Neuron.Config.AliasSpec Neuron.VersionSpec Neuron.Zettelkasten.ID.SchemeSpec Neuron.Zettelkasten.IDSpec Neuron.Zettelkasten.Query.ParserSpec Neuron.Zettelkasten.ZettelSpec Neuron.Zettelkasten.Zettel.ParserSpec -- To profile: ghc-options: -fexternal-interpreter -prof -fprof-auto -rtsopts executable neuron import: app-common hs-source-dirs: src/exe main-is: Main.hs ghc-options: -threaded -rtsopts -with-rtsopts=-N if (flag(ghcid)) hs-source-dirs: src/lib src/app else build-depends: neuron, neuron-app-lib