Files
roux/package.yaml
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

70 lines
1.3 KiB
YAML

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
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
dependencies:
- base >= 4.7 && < 5
- blaze-html
- blaze-markup
- bytestring
- containers
- directory
- filepath
- http-types
- optparse-applicative
- parsec
- text
- time
- wai
- warp
library:
source-dirs: src
executables:
roux-server:
main: Main.hs
source-dirs: app
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- optparse-applicative
- roux-server
- unix
tests:
roux-server-test:
main: Spec.hs
source-dirs: test
dependencies:
- hspec
- roux-server
- tasty
- tasty-golden
- tasty-hspec
- tasty-hunit