-
460b7d0fdc
Store cook log DB in writable data dir, not read-only recipes mount
main
jbrechtel
2026-07-12 21:53:35 -04:00
-
3c3b6b853a
Fix cook history ordering: sort months by date, not name
jbrechtel
2026-07-08 09:25:41 -04:00
-
78612eaa06
Fix cook history ordering: show newest entries first
jbrechtel
2026-07-08 08:59:13 -04:00
-
506de6c4d8
Uses latest sonnet model
jbrechtel
2026-05-31 14:48:32 -04:00
-
518d62fcb6
HLint
jbrechtel
2026-05-31 14:46:58 -04:00
-
dbc2026422
Format code with fourmolu
jbrechtel
2026-05-27 21:31:00 -04:00
-
5aab9a8018
Move recipe filter tabs from nav into page content
jbrechtel
2026-05-27 21:22:47 -04:00
-
541dc0e7ce
Unify header navigation and page padding across all pages
jbrechtel
2026-05-27 21:13:48 -04:00
-
0eb6e6ea3c
UI adjustments: Import link in header, matching font sizes, cook history titles, click-to-upload images
jbrechtel
2026-05-27 20:59:24 -04:00
-
2124630146
Recipe page: ingredients and method side-by-side layout
jbrechtel
2026-05-26 09:36:07 -04:00
-
7b77cf2840
Fix recipe page: step text contrast and interactive ingredient checkboxes
jbrechtel
2026-05-26 09:32:34 -04:00
-
7b64f9576b
Fix 'btn is not defined' JS error in Record meal modal
jbrechtel
2026-05-26 07:44:50 -04:00
-
65b096bc31
Landing page: use recipe images in cards, make cards clickable
jbrechtel
2026-05-26 07:43:04 -04:00
-
162d2f8a1e
Formats repo
jbrechtel
2026-05-26 07:39:28 -04:00
-
0643dda10d
Update recipe view page layout to match roux-recipe-mockup.html
jbrechtel
2026-05-26 07:38:15 -04:00
-
6a7374c912
Formatting
jbrechtel
2026-05-26 07:25:18 -04:00
-
d22c8a79d4
Add landing page with cook log integration
jbrechtel
2026-05-26 07:15:38 -04:00
-
edb682c8bc
fix: skip empty/whitespace-only steps so step numbering starts at 1
jbrechtel
2026-05-26 06:59:07 -04:00
-
0be6e299d5
fix: normalize recipe filenames in cook-log (strip .cork ext, lowercase); also fetch with .cork fallback for legacy entries
jbrechtel
2026-05-26 06:48:11 -04:00
-
4dd580a042
Formats repo
jbrechtel
2026-05-26 06:45:02 -04:00
-
ee42bfd981
fix: darken text colors — define --roux-muted, add explicit color to Cancel button, darken recent entry comment/date colors
jbrechtel
2026-05-26 06:44:23 -04:00
-
92ec058114
feat: show most recent 5 cook entries under Record meal button
jbrechtel
2026-05-26 06:40:24 -04:00
-
14f43a4ae9
fix: send URL-encoded form data instead of multipart, show errors inline, default empty date to today
jbrechtel
2026-05-25 22:26:53 -04:00
-
930fba369c
feat: replace inline cook log form with 'Record meal' button + modal
jbrechtel
2026-05-25 22:20:00 -04:00
-
ac7a979fe9
Formats repo
jbrechtel
2026-05-25 22:11:28 -04:00
-
0b6b9c3d17
fix: use Text for created_at, fix show-bug in ToJSON, add /cook-history route
jbrechtel
2026-05-25 22:10:23 -04:00
-
90971568a3
feat: add cook history nav link to index page
jbrechtel
2026-05-25 22:01:24 -04:00
-
c6a9c2dee4
feat: wire up cook log DB at server startup
jbrechtel
2026-05-25 22:00:45 -04:00
-
ceadf50c59
feat: add CookLog module with types and DB operations
jbrechtel
2026-05-25 21:55:43 -04:00
-
0b5fa61acd
chore: add sqlite-simple dependency
jbrechtel
2026-05-25 21:54:22 -04:00
-
edfa9bac76
docs: add implementation plan for cooking log feature
jbrechtel
2026-05-25 21:48:51 -04:00
-
f2bd667b75
docs: add cooking log design spec
jbrechtel
2026-05-25 21:45:49 -04:00
-
ed015d3799
Fix all 20 hlint warnings across 5 source files
jbrechtel
2026-05-25 21:30:21 -04:00
-
67c3b4df6c
Merge branch 'feat/inline-title-edit'
jbrechtel
2026-05-21 21:37:20 -04:00
-
-
69f4184f2e
feat: add PATCH endpoint for recipe title updates
jbrechtel
2026-05-21 21:31:33 -04:00
-
7b51c617de
feat: add inline title editing JavaScript
jbrechtel
2026-05-21 21:29:54 -04:00
-
e5ed706aa6
Updates prompt
jbrechtel
2026-05-21 21:29:34 -04:00
-
1f7b55af6f
feat: add CSS class and styles for editable recipe title
jbrechtel
2026-05-21 21:29:20 -04:00
-
-
8e6e572b35
chore: add .worktrees to gitignore
jbrechtel
2026-05-21 21:28:03 -04:00
-
59fd96b57d
docs: add design and plan for inline title editing
jbrechtel
2026-05-21 21:28:00 -04:00
-
d64129fc9f
fix: save recipe images to recipe-images/ subdirectory
jbrechtel
2026-05-21 21:06:07 -04:00
-
a509f44300
feat: add recipe image upload with in-place metadata update
jbrechtel
2026-05-21 20:43:58 -04:00
-
76fab5c716
fix: save uploaded files to recipe-images/ subdir and inject source URL
jbrechtel
2026-05-21 17:04:34 -04:00
-
439f5780c9
feat: show recipe image thumbnail on index page
jbrechtel
2026-05-21 15:19:14 -04:00
-
2dd8840569
fix: resolve prompts dir in Docker and script, try multiple locations
jbrechtel
2026-05-21 12:58:52 -04:00
-
f6040f5445
chore: add convert-to-cooklang and Python deps to Dockerfile
jbrechtel
2026-05-21 11:59:31 -04:00
-
5117c9d445
fix: remove relative path fallback in findConvertScript, rely on PATH only
jbrechtel
2026-05-21 11:42:06 -04:00
-
16074b0060
fix: resolve convert-to-cooklang script path with makeAbsolute
jbrechtel
2026-05-21 11:15:39 -04:00
-
76fb927109
Fixes typo in Dockerfile config
jbrechtel
2026-05-21 11:03:10 -04:00
-
d9a7f6538e
feat: add Import link to index page navbar
jbrechtel
2026-05-21 10:56:35 -04:00
-
c36e632d25
style: style import form inputs to match search box
jbrechtel
2026-05-21 10:52:34 -04:00
-
5680cc434c
Loads config in Docker
jbrechtel
2026-05-21 10:48:52 -04:00
-
e5e0f1c0e0
chore: add yaml and base64-bytestring dependencies, re-export Config
jbrechtel
2026-05-21 10:34:03 -04:00
-
232373cd5c
feat: expand import form with file upload via base64 JS
jbrechtel
2026-05-21 10:32:49 -04:00
-
578d1ae068
feat: add LLM import pipeline with file upload and text input
jbrechtel
2026-05-21 10:29:35 -04:00
-
b179135136
feat: add --config-file CLI flag for YAML config
jbrechtel
2026-05-21 10:25:06 -04:00
-
c015dce51e
fix: strip code fences, add MIME/size validation, add tests
jbrechtel
2026-05-21 10:23:18 -04:00
-
7a3f63e377
feat: add convert-to-cooklang script for Anthropic API recipe conversion
jbrechtel
2026-05-21 10:18:23 -04:00
-
5765829004
refactor: return Either from loadConfig, add Config tests
jbrechtel
2026-05-21 10:16:41 -04:00
-
1d5459ea1e
feat: add Config module for YAML config loading
jbrechtel
2026-05-21 10:10:59 -04:00
-
5abf5490b4
feat: add interactive countdown timers to recipe steps
jbrechtel
2026-05-20 22:50:35 -04:00
-
ddb8577c4b
feat: add headless Chromium fallback to recipe scraper
jbrechtel
2026-05-20 22:44:15 -04:00
-
8807ba3851
feat: show recipe image alongside description when metadata has one
jbrechtel
2026-05-20 22:35:25 -04:00
-
1b7f7b61aa
fix: tighten typography, fix parser brace leak, polish UI
jbrechtel
2026-05-20 22:31:23 -04:00
-
752918c1af
fix: remove extra closing brace in index page JS
jbrechtel
2026-05-20 22:18:17 -04:00
-
78764be0a9
refactor(ui): overhaul typography, color palette, and recipe page layout
jbrechtel
2026-05-20 22:13:33 -04:00
-
bf6fde376a
feat: parse schema.org ingredient strings into structured Cooklang ingredients
jbrechtel
2026-05-20 18:11:30 -04:00
-
d29d8b0af0
fix: separate steps with blank lines in Cooklang renderer
jbrechtel
2026-05-20 16:04:16 -04:00
-
c33a51d80b
test: add step count preservation tests for SchemaOrg → Cooklang conversion
jbrechtel
2026-05-20 15:57:14 -04:00
-
6081534c10
feat: save raw scraper JSON alongside .cook file on import
jbrechtel
2026-05-20 15:50:17 -04:00
-
d77f4eb59f
fix: persist SSE debounce across page reloads via sessionStorage
jbrechtel
2026-05-20 15:42:01 -04:00
-
7b7c522080
fix: force lazy ByteString evaluation before waitForProcess to avoid deadlock
jbrechtel
2026-05-20 15:35:22 -04:00
-
7fb83230d3
fix: correct createProcess tuple order in readProcessBytes
jbrechtel
2026-05-20 15:18:11 -04:00
-
6f610c5d86
fix: replace partial pattern in readProcessBytes with explicit case
jbrechtel
2026-05-20 15:05:48 -04:00
-
8d1ff6eb86
fix: read subprocess output as raw bytes to avoid locale encoding errors
jbrechtel
2026-05-20 14:53:11 -04:00
-
ebeb52212d
fix: properly percent-decode URL-encoded form values in import
jbrechtel
2026-05-20 14:46:43 -04:00
-
72535fb3ec
fix: disable stdout/stderr buffering for Docker log visibility
jbrechtel
2026-05-20 14:38:52 -04:00
-
98644be7ea
feat: add structured logging to import pipeline
jbrechtel
2026-05-20 14:33:08 -04:00
-
29952d456c
fix: resolve scrape-recipe script path via PATH then fallback to scripts/
jbrechtel
2026-05-20 14:25:37 -04:00
-
81723622be
chore: re-export CooklangPrint from Roux module
jbrechtel
2026-05-20 13:23:12 -04:00
-
6e895f7286
feat: add /import route for recipe URL import
jbrechtel
2026-05-20 13:17:48 -04:00
-
4738972046
feat: add import form and result page templates
jbrechtel
2026-05-20 13:07:31 -04:00
-
e1c2a4bdc5
feat: add CooklangPrint module for rendering Recipe to .cook text
jbrechtel
2026-05-20 13:02:04 -04:00
-
751a9f853c
docs: add recipe import design spec
jbrechtel
2026-05-20 12:55:21 -04:00
-
602324a699
chore: use persistent Docker volume for stack-root instead of host directory
jbrechtel
2026-05-20 12:09:03 -04:00
-
2628fcf6d9
live update docs
jbrechtel
2026-05-20 11:57:58 -04:00
-
795a99ae2b
fix: deduplicate SSE events and debounce client reload
jbrechtel
2026-05-20 11:54:06 -04:00
-
71cef21daf
feat: add SSE client JS for live recipe reload on detail and index pages
jbrechtel
2026-05-20 10:23:42 -04:00
-
f5c693a2b5
feat: add SSE endpoint and ChangeLog for live recipe reload
jbrechtel
2026-05-20 10:15:50 -04:00
-
7a6d3653a7
Merge branch 'live' into main — live recipe watching via fsnotify
jbrechtel
2026-05-20 06:30:07 -04:00
-
-
ce9062a4b3
fix: catch IOExceptions in reReadRecipe and wrap watchDir callback for resilience
jbrechtel
2026-05-19 23:40:13 -04:00
-
956a4bc7d7
fix: use watchDir callback instead of watchTreeChan for reliable event delivery
jbrechtel
2026-05-19 23:35:32 -04:00
-
a7434eced7
Merge branch 'utf8'
jbrechtel
2026-05-19 23:29:45 -04:00
-
-
5bfd3f2308
fix: use absolute dir path for watcher makeRelative consistency
jbrechtel
2026-05-19 23:28:51 -04:00
-
166a2e7800
Handles UTF8 recipe files
jbrechtel
2026-05-19 23:28:37 -04:00
-
8f8dbecea5
refactor: replace aeson ToJSON/FromJSON with json-fleece schemas
jbrechtel
2026-05-19 23:24:24 -04:00
-
-
d8e2cc101d
fix: correct path handling in live recipe watching
jbrechtel
2026-05-19 23:23:04 -04:00
-
a2a8ea7b99
feat: watch recipe directory for live updates via fsnotify
jbrechtel
2026-05-19 23:14:24 -04:00
-
a8402cf831
chore: add fsnotify dependency for live recipe watching
jbrechtel
2026-05-19 23:08:02 -04:00
-
baa3c2434f
feat: add recipe scraping script and update Docker image
jbrechtel
2026-05-19 23:07:53 -04:00