This leverages nom to parse ingredient line items from recipes into a common format.
As an example, 1ΒΌ cups / 155.5 grams all-purpose flour, lightly sifted
becomes
rust
{
name: "all-purpose flour",
amounts: [
Measure { unit: "cups", value: 1.25 },
Measure { unit: "grams", value: 155.5 }
],
modifier: Some("lightly sifted")
}
More examples listed in the docs