Flutter烹饪语言解析插件cooklang的使用

Flutter烹饪语言解析插件cooklang的使用

cooklang-dart

cooklang-dart 是一个用于解析Cooklang的Dart库。

特性

  • 成功通过了Cooklang规范测试套件(版本5)。

开始使用

请参阅cooklangpub.dev上的页面。

使用方法

请查看示例文件example/cooklang_example.dart

import 'package:cooklang/cooklang.dart';

void main() {
  // 定义一个包含Cooklang语法的字符串
  final content = """
>> servings: 6

Make 6 pizza balls using [@tipo](/user/tipo) zero flour{820%g}, [@water](/user/water){533%ml}, [@salt](/user/salt){24.6%g} and [@fresh](/user/fresh) yeast{1.6%g}. Put in a #fridge for ~{2%days}.
Set #oven to max temperature and heat #pizza stone{} for about ~{40%minutes}.

Make some tomato sauce with [@chopped](/user/chopped) tomato{3%cans} and [@garlic](/user/garlic){3%cloves} and [@dried](/user/dried) oregano{3%tbsp}. Put on a #pan and leave for ~{15%minutes} occasionally stirring.

Make pizzas putting some tomato sauce with #spoon on top of flattened dough. Add [@fresh](/user/fresh) basil{18%leaves}, [@parma](/user/parma) ham{3%packs} and [@mozzarella](/user/mozzarella){3%packs}.

Put in an #oven for ~{4%minutes}.""";
  
  // 解析Cooklang内容
  final recipe = parseFromString(content);
  
  // 输出解析后的结果
  print(recipe.toObject());
}

更多关于Flutter烹饪语言解析插件cooklang的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter烹饪语言解析插件cooklang的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


cooklang 是一种用于编写烹饪食谱的轻量级标记语言。它允许你以一种结构化的方式编写食谱,并且可以轻松地解析和使用这些食谱。在 Flutter 中,你可以使用 cooklang 解析插件来解析和处理 cooklang 格式的食谱。

1. 安装 cooklang 插件

首先,你需要在 pubspec.yaml 文件中添加 cooklang 插件的依赖:

dependencies:
  cooklang: ^1.0.0

然后运行 flutter pub get 来安装依赖。

2. 解析 cooklang 食谱

cooklang 插件提供了一个 CookParser 类,用于解析 cooklang 格式的食谱。以下是一个简单的示例,展示如何解析一个 cooklang 食谱:

import 'package:cooklang/cooklang.dart';

void main() {
  // 一个简单的 cooklang 食谱
  String recipeText = '''
  >> title: 炒鸡蛋
  >> source: 家常菜谱
  >> servings: 2

  材料:
  - 鸡蛋 [@eggs](/user/eggs){2}
  - 盐 [@salt](/user/salt){1/2 tsp}
  - 油 [@oil](/user/oil){1 tbsp}

  步骤:
  1. 打鸡蛋 [@eggs](/user/eggs){} 到碗里。
  2. 加入盐 [@salt](/user/salt){},搅拌均匀。
  3. 热锅加油 [@oil](/user/oil){},倒入蛋液。
  4. 翻炒至熟,装盘。
  ''';

  // 解析食谱
  Recipe recipe = CookParser.parse(recipeText);

  // 输出解析结果
  print('标题: ${recipe.metadata['title']}');
  print('来源: ${recipe.metadata['source']}');
  print('份量: ${recipe.metadata['servings']}');

  print('\n材料:');
  for (var ingredient in recipe.ingredients) {
    print('${ingredient.name}: ${ingredient.quantity}');
  }

  print('\n步骤:');
  for (var step in recipe.steps) {
    print(step.text);
  }
}
回到顶部