cooklang-chef

A CLI to manage cooklang recipes with extensions.

The parser has been moved to cooklang/cooklang-rs

What is cooklang

Cooklang is a markup language for cooking recipes. An in depth explanation can be found in cooklang.org.

An example cooklang recipe: ```cooklang In a large #bowl mix @flour{450%g}, @yeast{2%tsp}, @salt{2%tsp} and @warm water{375%ml}.

Cover the dough and leave on counter for ~{2-3%hour}.

Sprinkle work surface with @&flour{10%g} and shape the dough. Sprinkle the top with some more @&flour{5%g}.

Bake with a preheated #oven at 230ÂșC for ~{30%min}. ```

What is cooklang-chef

chef is a CLI to manage, read and convert cooklang recipes.

I wanted a couple more features that cooklang did not have, so I extended the cooklang syntax and semantics a bit.

All regular cooklang files parse as the same recipe, the extensions are a superset of the original cooklang format. Also, the extensions can be turned off, so the parser can be used for regular cooklang if you don't like the extensions. All extensions except the multiline steps are enabled by default[^1].

You can see a detailed list of all extensions explained in the parser repo.

Full user documentation here.

You can install chef with[^2]: sh cargo install cooklang-chef

but pending a release. Until then error colors won't work. If that is a big problem for you, manually cloning the repo and compiling will work.

Key features:

Crates