nextcloud / nextcloud/cookbook

Dynamic ingredient amount scaling in the instructions

Open
#3,032 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
HTML
Stars
641
Forks
113
Avg merge
21h 31m
Merged PRs (30d)
26

Description

Is your feature request related to a problem? Please describe.
It's generally great to be able to scale the Ingredients-list with the servings count.
This is great when you use an ingredient just in one step since you can refer to it as: now add the milk

But this is no longer possible if you need to add Milk at two different steps, like for the topping and for the dough of a cake. Then It's necessary to write something like Now add 2/3 of the Milk which is quite impractical.

Describe the solution you'd like
I would love to have an option to write a scaling indicator based on the default Servings count in the text which then can be evaluated to a specific amount depending on the specified scaling.

But this notation should also be easily readable when opened with an application which does not support this feature.

A notation somewhat like this:
#[PORTION_OF_INGREDIENT, INGREDIENT_NAME]
example:

  • ingredients: "1 L Milk"
  • Text: "Now add #[0.5, Milk] to the mixture"
  • Result: "Now add 0.5 L Milk to the mixture"

would be great, but I am quite certain that it is quite a bit more complicated than that, since this is a pretty native approach, and that you will have no problem coming up with a better alternative :)

Describe alternatives you've considered
Current alternatives are:

  • Splitting every recipe with this problem into multiple parts and linking to them in a "main recipe"
    • but this is probably not possible in every case since not everything can be split into multiple distinct components
  • writing fractions like 200/300 g Milk and then recalculate while reading the instructions
    • this loses the whole benefit of having the servings scaling

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the existing ingredient serving-scaling behavior and how instruction text is rendered, then determine how a readable scaling reference could be represented. Done should include a settled notation, scaled instruction output, and readable behavior in unsupported applications.

Written by the indexing model from the issue text.

Assessment

Domain
content
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.