Commit Graph

64 Commits

Author SHA1 Message Date
admin 48c033cf64 updated 2026-02-27 11:25:18 +01:00
admin a39faeff51 Update CHANGELOG and README for v0.9.1–v0.9.10
Document recipe edit page improvements: image management, auto-expanding
textareas, wider layout, search UX, keyboard navigation, pagination fix,
Tandoor image URL rewrite, favicon update.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 10:42:06 +01:00
admin 8fdbf18f4a reverted 2026-02-26 10:39:38 +01:00
admin 7bbc2b5925 updated CHANGELOG 2026-02-26 10:38:58 +01:00
admin 23f0fc5549 updated favicon 2026-02-26 10:37:30 +01:00
admin da6dd007d9 Fix image centering with display:block + margin:auto
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 09:19:45 +01:00
admin 8f76ca0b31 Center only the image, keep label left-aligned
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 09:17:52 +01:00
admin a6844e3ab2 Center recipe image on edit page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 09:15:24 +01:00
admin 41ab4564dc Fix Tandoor image URLs: rewrite internal API URLs to public base URL
Images returned by Tandoor API use the internal service URL when
api_url differs from base_url. Now rewritten to public URL so
browser can display them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 09:12:26 +01:00
admin e746dc10c9 Edit page: auto-expand step textareas, wider layout, image management
- Textareas auto-resize to fit content (min 120px)
- Edit page container widened to 1100px
- Show recipe image with URL input and file upload options
- Add image upload endpoint (POST /api/recipes/<backend>/<id>/image)
- Add upload_image_bytes() to both Mealie and Tandoor clients

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 09:07:56 +01:00
admin ae2f0e062f Move btn-danger style to base.html so it works on all pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:57:48 +01:00
admin 6aa7ed3c71 Search dropdown: keyboard navigation, edit/delete actions; edit page delete
- Search dropdown now supports arrow up/down to highlight items,
  Enter navigates to edit page of highlighted recipe
- Each dropdown item shows edit (pencil) and delete (trash) buttons
- Edit page now has a "Recept törlése" button with confirmation modal
- Successful delete on edit page redirects back to /recipes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:55:43 +01:00
admin bb89d97716 Fix Tandoor pagination: use page/page_size instead of limit/offset
Tandoor's /api/recipe/ endpoint uses Django REST Framework's
PageNumberPagination (page + page_size), not LimitOffsetPagination.
The limit/offset params were silently ignored, returning all recipes
on every page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:50:49 +01:00
admin 4a1ebfaf4e UI improvements: search dropdown, layout fixes, taller step fields
- Recipe search now shows dropdown suggestions while typing;
  full results load on Enter or clicking "Keresés" button
- Search field moved above tag filter; active filter tags below input
- Instruction textarea doubled in height (60px → 120px) on both
  import and edit pages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:45:11 +01:00
admin 8f4f7f245b Fix KeyError on keyword/tag objects without 'name' field
Tandoor recipe list API may return keyword objects without a 'name'
key, causing KeyError('name'). Use .get() with filtering across all
tag/keyword list comprehensions in both Mealie and Tandoor clients.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:36:13 +01:00
admin 19cbd505d4 feat: recipe management page — browse, search, edit, delete recipes
New /recipes page with backend switching (Mealie/Tandoor), full-text
search, tag filtering, multi-select bulk delete, per-recipe edit/delete
buttons, and a full recipe editor reusing the import preview form.

New API client methods: list_recipes, get_recipe, update_recipe,
delete_recipe for both MealieClient and TandoorClient.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 08:30:26 +01:00
admin 98d1e3b45a feat: env var overrides for Mealie/Tandoor connection settings
MEALIE_URL, MEALIE_API_KEY, TANDOOR_URL, TANDOOR_API_KEY env vars
now take priority over config.json values when set. Useful for
Kubernetes deployments where secrets are injected as env vars.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 07:46:44 +01:00
admin 479dc3cc48 removed examples 2026-02-25 13:29:54 +01:00
admin d8ca4f1336 logo change 2026-02-25 08:28:30 +01:00
admin e922822286 v0.8.3: prefer h1 for mindmegette title, strip trailing "recept" globally
Mindmegette regular pages: use h1 element (clean meal name like
"Sajtkrémes csirkés leves") instead of og:title (which has "receptje"
suffix). Also add global post-processing to strip trailing recept/
receptje/receptek from titles across all parsers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:43:24 +01:00
admin 0d5728b732 docs: add v0.8.2 changelog entry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:37:31 +01:00
admin 76846eb427 fix(mindmegette): use meal name h2 as title for alt-format pages
Alt-format pages (e.g. /alapetelek/) have the meal name in an h2
element above the Hozzávalók header, which is more useful than the
long article title from og:title.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:36:31 +01:00
admin 6f12cc06a4 v0.8.1: fix mindmegette alt page format (wysiwyg ingredients/instructions)
Support alternative mindmegette.hu pages (e.g. /alapetelek/) where
ingredients are in <ul> after h3 "Hozzávalók" and instructions in <ol>
after h3 "Elkészítés" inside the wysiwyg box, instead of structured
div.ingredients containers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:30:47 +01:00
admin 31ea1d0bf2 mindmegette alt example 2026-02-24 20:24:09 +01:00
admin 0ec9ce0c6d v0.8.0: gastrohobbi.hu parser, fix ingredient fraction parsing
Add gastrohobbi.hu parser (WPBakery page builder layout): ingredients
with groups, instructions with embedded lists, tags from JSON-LD
articleSection, prep time extraction.

Fix ingredient line parser: fractions like "1/2" no longer split due to
regex backtracking, en-dash ranges normalized, unicode fractions (½¼¾)
recognized as quantity start across all parsers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:17:13 +01:00
admin ba5dae2caa hobbi 2026-02-24 19:01:43 +01:00
admin bab59753f3 Fix kiskegyed ingredient parsing: spaces around links, multi-word units
- Use get_text(" ") with whitespace normalization to preserve spaces
  between text nodes and <a> tag content in ingredient lines
- Use non-greedy .+? for unit in dual measurement regex to handle
  multi-word units like "kis fej"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:47:41 +01:00
admin 20fabb84bf v0.7.0: kiskegyed.hu parser, dual measurements, site links as URLs
- New parser for kiskegyed.hu: ingredients (with groups, dual measurements),
  instructions (ol > li > div), tags (section.tags)
- Dual measurement handling: "3 ek (70 g)" extracts alternate measurement
  to comment field
- Cross-site linking: kiskegyed→sobors links are followed to get full recipe
  (mirrors existing sobors→kiskegyed support)
- Supported sites now shown as clickable URLs in the import page
- supported_sites() returns dicts with name and url

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:45:25 +01:00
admin 0912311357 kiskegyed 2026-02-24 18:41:11 +01:00
admin d17a66e3e2 Update CHANGELOG for v0.6.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:30:04 +01:00
admin 2408984421 Extract ingredient comments from food field, add import-to-both button
- Global post-processing in scrape() extracts trailing (comment) from
  ingredient food names into the extra/comment field. Works for all parsers.
- Added "Importálás mindkettőbe" button on single import page when both
  Mealie and Tandoor are configured.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:27:58 +01:00
admin 4467265168 Detect redirect-like instructions and show warning
When recipe instructions are just a link to another site (e.g.
"ide kattintva, a Kiskegyed oldalán találod"), display a warning
instead of silently accepting non-useful instruction text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:22:19 +01:00
admin baa63a43b2 v0.6.1: follow linked recipes on sobors.hu, white favicon
- Sobors.hu parser: detect external links in instructions and follow them
  to scrape real recipe content (e.g. kiskegyed.hu linked recipes)
- Article-style ingredient fallback for sobors.hu pages without structured
  ingredient containers (h4 + ul > li plain text)
- Favicon changed to logo_notext_white.svg

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:18:54 +01:00
admin 45534391f0 favicon 2026-02-24 18:13:13 +01:00
admin a0bcb62588 v0.6.0: Sobors.hu parser, HTTP auth, recipe validation, UI polish
- New sobors.hu parser with ingredient groups and section headers
- Incomplete recipe warnings (missing ingredients/instructions)
- Optional HTTP Basic Auth (configurable on settings page)
- Brand text: "Recept" in white, "Importáló" in blue
- Larger logo (36px), favicon using logo_notext.svg

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:07:05 +01:00
admin 76290770f4 examples 2026-02-24 18:00:10 +01:00
admin ca863e4118 v0.5.1: Design overhaul — felhom.eu branding, blue/cyan color scheme
- New color palette matching felhom.eu/controller templates (blue/cyan accent)
- Plus Jakarta Sans font, 12px border radius, accent glow on focus
- felhom.eu logo in navbar, "Powered by felhom.eu" footer
- Settings page: documentation about external vs internal Docker URLs
- Fixed version double "v" prefix display
- Cleaned up example HTML files from development

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:21:54 +01:00
admin 70323ae46b Update README and CHANGELOG for v0.4.0-v0.5.0
Document bulk import feature, nosalty.hu parser, streetkitchen
parser, and quantity range handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:08:21 +01:00
admin 8e45d647fd Add bulk import feature and supported sites display
- Two-tab UI: single import (existing) and bulk import
- Bulk mode: paste multiple URLs, choose review-each or auto-import
- Review mode: edit each recipe before importing, option to switch
  to auto mid-way
- Auto mode: scrape and import all without manual review
- Tag option for auto mode: import all tags or none
- Progress table with per-recipe status tracking
- Import targets: Mealie, Tandoor, or both
- Supported sites shown on both tabs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:06:02 +01:00
admin 96be242669 Add nosalty.hu to supported sites in README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:43:24 +01:00
admin 00b097566a Fix nosalty tag extraction: scope to recipe attribute list
The m-tags__tagItem class is used site-wide for SEO/navigation links.
Scope tag extraction to div.p-recipe__attributeList to only get
actual recipe tags.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:41:29 +01:00
admin 73a2319f5a Add nosalty.hu parser
Extracts ingredients (with groups), instructions (with section
headers), tags, and story-as-description from nosalty.hu recipe pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:40:16 +01:00
admin d948abf4f7 nosalty 2026-02-24 16:30:18 +01:00
admin 3524f372cc Handle quantity ranges (e.g. 2-3) in Mealie and Tandoor clients
Both APIs require numeric quantity/amount fields. When a range like
"2-3" is detected, uses the first number as the quantity and puts
the full range (e.g. "2- 3 ek") in the note field.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:17:06 +01:00
admin 4dde7bd8b5 Extract parenthesised notes from food name to extra field
E.g. "fehérborecet (ízlés szerint)" → food="fehérborecet", extra="ízlés szerint"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:10:42 +01:00
admin 480984c7c9 Add StreetKitchen parser documentation to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:04:29 +01:00
admin bef4b9978d Add streetkitchen.hu parser with ingredient groups and multiple instruction formats
Handles three instruction layouts: ol steps, ul steps, and paragraph-style.
Parses merged qty+unit strings (e.g. "200g" → qty=200, unit=g).
Deduplicates ingredients by targeting the specific grid container.
Tags extracted from JSON-LD recipeCategory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:02:39 +01:00
admin 0370fb462b SK examples 2026-02-24 15:44:15 +01:00
admin 6e7ad11933 Make section dividers more visible (remove opacity)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:23:15 +01:00
admin 56f1bc84a3 Add subtle section dividers to import page for visual clarity
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:21:37 +01:00