简单可爱的隔离食用手册,你值得收藏!


大家好呀,今天的我是中华小当家开源小妹~🍗🍖🍤🍳

疫情期间,大家一定要注意防护呀。小妹也有朋友因为防控升级,不得不居家监测和居家隔离。外出好吃好喝的日子姑且要盼望一段时间了,眼下要解决的问题是:如何用手头简单的食材烹饪出健康美味的饭菜呢?小妹这就给大家推荐一个新鲜出炉的开源项目——隔离食用手册。

隔离食用手册

隔离食用手册是一个非常简约可爱的开源项目,使用 Vue 进行开发。它本质上是个简单实用的菜谱。你可以在网站的页面上选择家里有的蔬菜、肉蛋、主食以及可用的厨具,便可以筛选出使用这些食材烹饪的美食菜谱。点击菜谱就可以跳转到 B 站上该美食 up 主的烹饪教学视频。

实现原理

筛选菜谱的逻辑很简单。首先项目会保存一份 csv 文档,存储了菜谱名、食材、菜谱链接、制作厨具等信息,如图:

image-20220420235407560

项目初始化时会将这个文档里的信息加载到列表里。

之后,在点击不同类型的食材时,都会触发toggleStuff方法,让选中的食材参与到列表的过滤当中,主要是这两段逻辑:

1
2
3
4
5
6
7
8
function toggleStuff(name: string) {
if (!curStuff)
return
if (curStuff.value.has(name))
curStuff.value.delete(name)
else
curStuff.value.add(name)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const displayedRecipe = computed(() => {
const recipes = recipe.value.filter((item) => {
if (strict.value) {
const stuffFlag = curStuff.value.every(stuff => item.stuff.includes(stuff))
const toolFlag = item.tools?.includes(curTool.value)
return curTool.value ? stuffFlag && toolFlag : stuffFlag
}
else {
const stuffFlag = curStuff.value.some(stuff => item.stuff.includes(stuff))
const toolFlag = item.tools?.includes(curTool.value)

// 同时存在 厨具和材料,则同时判断
if (curTool.value && curStuff.value.length) {
return stuffFlag && toolFlag
}
else {
if (curStuff.value.length)
return stuffFlag
else if (curTool.value)
return toolFlag

return false
}
}
})
return recipes
})

好啦,更多的实现逻辑就不在这里长篇大论了,感兴趣的朋友可以将项目拉取到本地研究研究哦~

程序员做饭指南

当然了,如果你想说:小妹呀,虽然你这菜谱很漂亮,但是如果我平时都没做过菜,火都点不开,锅都拿不稳,我照着做也做不来呀。没关系,小妹这里还有一份《程序员做饭指南》,也是一个应对在家隔离做饭难的开源项目。这个开源项目不仅有常见菜品的菜谱,而且还对做菜小白专门开辟了一章做菜之前的准备工作教程,看图:

小妹也逐个点开学习了一番,比如什么时候用冷水锅焯水,炒菜时怎么用热锅凉油,这里都有介绍,教程还蛮友好的!

总结

今天小妹分享了两个开源项目,《隔离食用手册》和《程序员做饭指南》。前者清晰简洁,后者入门且全面,希望能帮助到我可爱的读者朋友们(╹▽╹)自己做饭不止要填饱肚子,也要健康美味哦🤤


  目录