Skip to content

cooklang/cooklang-ts

Folders and files

NameName
Last commit message
Last commit date
Dec 19, 2023
Dec 19, 2023
May 6, 2023
Dec 21, 2024
Dec 21, 2024
Dec 19, 2023
Dec 19, 2023
Oct 30, 2023
Mar 16, 2022
Dec 19, 2023
Sep 28, 2024
Sep 28, 2024
Dec 19, 2023
Dec 19, 2023

Repository files navigation

Cooklang-TS

cooklang-ts logo cooklang-ts logo

Cooklang-TS is a TypeScript library for parsing and manipulating Cooklang recipes.

To-Do

  • Pass all tests
  • Add recipe scaling support

Usage

import { Recipe, Parser, getImageURL } from '@cooklang/cooklang-ts';

const source = `
>> source: https://www.dinneratthezoo.com/wprm_print/6796
>> total time: 6 minutes
>> servings: 2

Place the @apple juice{1,5%cups}, @banana{one sliced}, @frozen mixed berries{1,5%cups} and @vanilla greek yogurt{3/4%cup} in a #blender{}; blend until smooth. If the smoothie seems too thick, add a little more liquid (1/4 cup).

Taste and add @honey{} if desired. Pour into two glasses and garnish with fresh berries and mint sprigs if desired.
`;

console.log(new Recipe(source));
// {
//     ingredients: [...],
//     cookwares: [...],
//     metadata: {...},
//     steps: [
//         [...],
//         [...],
//     ],
//     shoppingList: {},
// }

console.log(new Parser().parse(source).metadata);
// {
//     source: 'https://www.dinneratthezoo.com/wprm_print/6796',
//     'total time': '6 minutes',
//     servings: '2',
// }

console.log(getImageURL('Mixed Berry Smoothie', {
    step: 1,
    extension: 'png'
}));
// 'Mixed Berry Smoothie.1.png'

Documentation

Documentation can be found here along with the Cooklang Specification.

Testing

Tests are as found in https://github.com/cooklang/spec/blob/main/tests/canonical.yaml.

npm test