Live data from Hacker News

Cooklang – Recipe Markup Language

cooklang.org

51–60 of 112 posts

Re: Cooklang – Recipe Markup Language

#51
This seems primitive. I see there is some understanding that there needs to be "cookware" elements, but how am I supposed to indicate it requires a brick pizza oven or a tandori oven? These aren't trivial cookware. I'd want some way to filter these out without having to go through and indicate the 500 large appliances I don't have before I can see which recipes are feasible.

I could add metadata tags that would indicate just what the dish was (entree, or a fancy breakfast/brunch, or a desert, etc), but since there's nothing like a standard tag if anyone else gets the file those tags are mostly worthless (their software won't be able to sort a bunch of recipes into the correct categories).

There's no way to indicate how many times the recipe has been verified (apparently the vast majority of online recipes are made-up bullshit that even the author hasn't bothered to cook even once).

Even pictures... I might want more than one non-step picture for the recipe.

Naming convention is whacked out. This works for 5 recipe files in a folder. What happens when I have 80,000? Or 2.1 million? r/datahoarder would be disappointed. How many different pot roast recipes is that? Is it only eight dozen, or is it more like 900? Are they all just numbered, 1 through n?

Hell, there are some classic recipes that are seasonal. They want not just "chicken eggs" but "spring chicken eggs" as opposed to summer or fall. How do I filter those out so I don't see them in November?

Re: Cooklang – Recipe Markup Language

#52
post #8
post #2

Pretty much every recipe written since literally the 1890s / Fannie Farmer already has pulled out ingredients and quantities into their own separate section from steps. To use cooklang, it appears that I have to rewrite recipes to include ingredients inline. No other recipes tend to use this style, because it is harder to read. If I write recipes in cooklang, the plain text of the recipes is harder to understand with…

> To use cooklang, it appears that I have to rewrite recipes to include ingredients inline. No other recipes tend to use this style, because it is harder to read. I don't understand. Recipes absolutely include ingredients inline, because unless your recipe is a single ingredient you would need to mention the name of the ingredients that step uses. The option to include measurements with the ingredient is also importa…

> But that's exactly the purpose of markup language. Nobody is saying XML is easier to read than a table generated from XML. Neither is HTML, LaTeX, or any others. [...] The output of the CLI tool is suppose to be a better reading format.

The original vision for angle-bracket markup (SGML) includes support for custom Wiki syntaxes (SGML SHORTREF), tag inference, and other affordances for compact, hand-writable text. In fact, SGML can be seen as a language to specify cues for turning markdown-like text with arbitrary custom extensions into strict fully tagged hierarchical XML.

Re: Cooklang – Recipe Markup Language

#53
post #42

Earlier quoted context omitted.

Baking is very suited to ratios, cooking less so. Bakers commonly talk about percent hydration, which is how much water there is compared to the flour.

This is only because most recipes are incredibly imprecise. Chefsteps have gram measurements for almost everything, baking or not, and have a scaling tool built into their recipe view. It's incredibly useful.

One problem with cooking is that your pans and heat transfer do not scale. So you cannot just arbitrarily scale up/down recipes, even if you take precise measurements. The result may be way too watery or dry, for example.

(I guess this would also apply to baking anyway.)

Re: Cooklang – Recipe Markup Language

#54
post #4

> Slowly add @milk{4%cup} [- TODO change units to litres -], keep mixing No! Handle units! @milk{4%cup} should be trivially convertible to liters and configured by the user. For harder conversions (volume to mass) keeping a list of ingredients and their densities (configurable of course) would be extremely useful. On that subject, being able to specify a recipe in terms of ratios and then automatically convert it to…

> Because measuring by volume isn't easier in 2023 than placing your mixing bowl on a kitchen scale and balancing everything to the mass of your butter and eggs. Eh, I've tried both and I have to disagree. Pouring milk or oil may be easier with the scale because you have very precise control over the flow rate, but for flour and other dry goods it's far easier to scoop, scrape, and dump a cup than it is to add a bit…

You can use a spoon to transfer into the measuring bowl.

My mom taught me when I was a wee lad that a heaping table spoon was about 20g of flour, and a flat table spoon of sugar is about 10g. I have no idea if this is true, but to get 200g you get approximately ten table spoons, and you just get a bit less or more in the late one.

Re: Cooklang – Recipe Markup Language

#55
post #22
post #15

Earlier quoted context omitted.

I just pour it right out of the container I store it in and don't have trouble with clumping. Life is easier and cleaner without packing flour.

> Weight vs volume measurements This is as un-winnable a debate as vi vs emacs. The world is full of both kinds of people. Any attempt on the part of the format to dictate one or the other approach will simply reduce the use of the format. As firmly convinced as you are of the rightness of your position, there is at least an equal number of equally committed champions of the other position, regardless of which positi…

IMO it's just legacy.

All high level pastry recipes have converted to weights a long time ago since precision is important, but truth is for most recipes exact dosage does not matter so traditional measures from a time when scales were less common and precise survive.

They will die down in time.

Re: Cooklang – Recipe Markup Language

#56
post #4

> Slowly add @milk{4%cup} [- TODO change units to litres -], keep mixing No! Handle units! @milk{4%cup} should be trivially convertible to liters and configured by the user. For harder conversions (volume to mass) keeping a list of ingredients and their densities (configurable of course) would be extremely useful. On that subject, being able to specify a recipe in terms of ratios and then automatically convert it to…

sounds like a job for Unitron :) https://github.com/alustig3/unitron

Re: Cooklang – Recipe Markup Language

#57
post #22

Earlier quoted context omitted.

> Weight vs volume measurements This is as un-winnable a debate as vi vs emacs. The world is full of both kinds of people. Any attempt on the part of the format to dictate one or the other approach will simply reduce the use of the format. As firmly convinced as you are of the rightness of your position, there is at least an equal number of equally committed champions of the other position, regardless of which positi…

Baking experts seem to be almost universally on the side of mass. It's more divided outside baking (though mostly breaks down along American/everyone else lines). It's really compelling to support both because recipes are legacy systems. I make the dinner rolls I make because my grandma makes them that way, and that's what my family likes. I can and have converted it to mass, because I can measure flour faster that w…

Are your baking experts English speaking?

In my table (in a coffee shop) right now I have a fee recipe books about baking: flour lab, la patisserie de Yann Couvrer, le Grand libre de la viennoiserie, french patisserie by Ferrandi and they all use weights for baking recipes (tho the last one also has volumes).

I have some grandma recipes which are whatever-metric (some sort of pancakes are "one egg, one egg of water, one spoon of flour") but I think it's mostly historical.

Re: Cooklang – Recipe Markup Language

#58
post #10

Putting ingredients inline is interesting. I think I actually see the sense in it. As a reader, I want the ingredients list at the top, but as a writer, I'll think about ingredients as I write the instructions. So, doing it this way potentially saves on jumping back and forth between the instructions and the list, which almost feels like boilerplate. However, if you want to make shopping list annotations, then you're…

This seems like the fallacy of a lot of software development. Make the one time task of writing easier while making the many many multiple more times act of reading/comprehending/using harder. Why?

Why would the reading be harder?

Re: Cooklang – Recipe Markup Language

#59

Earlier quoted context omitted.

Why water/water+flour and not water/water+flour+salt+starter? Because water:flour is the key relationship - that's what dictates the outcome. I think some people who do a lot of enriched doughs will give everything as a percentage of the mass of flour, pretty convenient. Really it's _just_ the ratio, normalized to 100 for convenience

You're right, I meant water+flour+starter denominator. Didn't figure salt would matter enough. My math brain wants everything as a percentage of a whole, but I see how it's simpler the way it is. Especially since the starter also has some relatively unknown amount of water and flour inside itself.

The starter has a mostly similar percentage of water. And there isn't that much of it anyway to make a significant difference.

I'm not that experienced with baking, so take the above with a grain of salt!

Re: Cooklang – Recipe Markup Language

#60
post #3

This is interesting though perhaps a bit over-engineered. I'd probably find myself less motivated to simply type something out to recipe.txt vs. manage all this but CookCLI does open up some interesting possibilities. The first thing that came to mind would be that it'd be cool if CookCLI could "halve" recipes automatically. Say you had a recipe for 12 muffins but you only wanted to make 6 or 4, it could automaticall…

According to the docs [1], the halving thing is a work in progress with a syntax like:

>> servings: 2|4|8

Add @milk{1/2*%cup} and mix until smooth. -- Multiply by serving size

Add @milk{1|2|3%cup} and mix until smooth. -- Specific quantity per serving size

[1] https://cooklang.org/docs/roadmap/

Post reply on HN