Files
roux/roux-server.cabal
T
jbrechtel 4943d4d42e Web server with recipe index page
- Add Roux.Server: WAI application using wai+warp directly
  - Scans .cook files from recipe directory on startup
  - GET / → HTML index page listing all recipes
  - Other routes → 404
- Add Roux.RecipeIndex: directory scanning and recipe parsing
  - scanRecipes: lists .cook files, parses each, extracts titles
  - Falls back to filename when metadata title is absent
- Add Roux.Html: blaze-html rendering with Pico CSS
  - indexPage: renders recipe list with links
  - urlEncode: percent-encodes filenames for URLs
- Update Roux.hs: re-exports Server.app and Types
- Add filepath to dependencies
2026-05-19 07:04:22 -04:00

119 lines
2.8 KiB
Plaintext

cabal-version: 2.2
-- This file has been generated from package.yaml by hpack version 0.38.1.
--
-- see: https://github.com/sol/hpack
name: roux-server
version: 0.1.0
synopsis: Personal/family recipe management site
description: A low-friction recipe manager using Cooklang files, with cook history tracking and search.
author: James Brechtel
maintainer: james@flipstone.com
copyright: 2026 James Brechtel
license: BSD-3-Clause
build-type: Simple
library
exposed-modules:
Roux
Roux.Html
Roux.Parser
Roux.RecipeIndex
Roux.Server
Roux.Types
other-modules:
Paths_roux_server
autogen-modules:
Paths_roux_server
hs-source-dirs:
src
default-extensions:
DerivingStrategies
OverloadedStrings
ghc-options: -Wall -Werror -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
build-depends:
base >=4.7 && <5
, blaze-html
, blaze-markup
, bytestring
, containers
, directory
, filepath
, http-types
, optparse-applicative
, parsec
, text
, time
, wai
, warp
default-language: Haskell2010
executable roux-server
main-is: Main.hs
other-modules:
Paths_roux_server
autogen-modules:
Paths_roux_server
hs-source-dirs:
app
default-extensions:
DerivingStrategies
OverloadedStrings
ghc-options: -Wall -Werror -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
base >=4.7 && <5
, blaze-html
, blaze-markup
, bytestring
, containers
, directory
, filepath
, http-types
, optparse-applicative
, parsec
, roux-server
, text
, time
, unix
, wai
, warp
default-language: Haskell2010
test-suite roux-server-test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Roux.ParserSpec
Paths_roux_server
autogen-modules:
Paths_roux_server
hs-source-dirs:
test
default-extensions:
DerivingStrategies
OverloadedStrings
ghc-options: -Wall -Werror -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
build-depends:
base >=4.7 && <5
, blaze-html
, blaze-markup
, bytestring
, containers
, directory
, filepath
, hspec
, http-types
, optparse-applicative
, parsec
, roux-server
, tasty
, tasty-golden
, tasty-hspec
, tasty-hunit
, text
, time
, wai
, warp
default-language: Haskell2010