레시피 변환은(는) 무엇을 하나요?
개요
기존 레시피를 Cooklang 형식으로 변환:
- URL - CookCLI를 사용하여 요리 웹사이트에서 가져오기
- 일반 텍스트 - 붙여넣은 레시피를 수동으로 파싱
- 기타 형식 - JSON, YAML, 마크다운 레시피
다음 상황에서 이 스킬을 사용하세요:
- 웹사이트에서 레시피 저장
- 손글씨 레시피 디지털화
- 다른 레시피 형식에서 변환
과정
1단계: 소스 식별
물어보기: "변환할 내용은 무엇인가요?"
- URL - 가져올 웹사이트 링크
- 붙여넣은 텍스트 - 다른 곳에서 복사한 레시피
- 파일 - 다른 형식의 기존 파일
2단계: 가져오기 또는 파싱
URL의 경우 (CookCLI 사용):
cook import "https://example.com/recipe"
CookCLI 가져오기가 실패하면 (지원되지 않는 사이트) 수동 변환으로 대체합니다.
붙여넣은 텍스트 또는 지원되지 않는 사이트의 경우:
- 제목 추출
- 인분/산출량 식별
- 재료 목록 파싱 (수량, 단위 찾기)
- 조리 단계를 단계별로 분리
- 언급된 조리 시간 기록
- 필요한 조리 도구 식별
3단계: Cooklang 생성
올바르게 포맷된 .cook 파일 생성:
- 메타데이터 - 추출된 정보가 포함된 YAML 머리말
- 재료 -
@와 적절한 수량 형식으로 표시 - 조리도구 - 장비를
#로 표시 - 타이머 - 시간을 추출하여
~로 표시 - 단계 - 각 단계를 하나의 문단으로
4단계: 누락된 정보 채우기
누락된 정보 묻기:
- "레시피에 인분 수가 명시되지 않았습니다. 몇 인분인가요?"
- "조리 시간이 언급되지 않았습니다. 대략 얼마나 걸리나요?"
5단계: 검토 및 저장
변환된 레시피를 보여주고 묻기:
- "이 변환이 정확한가요?"
- "어디에 저장할까요?"
예시
사용자: "https://example.com/banana-bread 변환해 줘"
실행:
cook import "https://example.com/banana-bread"
성공하면 출력 저장. 실패하면 수동 변환:
사용자: "이 레시피를 변환해 줘: 바나나 브레드 1덩이 분량 잘 익은 바나나 3개, 녹인 버터 1/3컵, 설탕 3/4컵, 계란 1개, 바닐라 1작은술, 베이킹소다 1작은술, 소금 한 꼬집, 밀가루 1.5컵 오븐을 350°F로 예열하세요. 바나나를 으깨고 버터, 설탕, 계란, 바닐라를 섞으세요. 마른 재료를 추가하세요. 반죽을 식빵 틀에 붓고 60분간 굽습니다."
생성 결과:
---
title: 바나나 브레드
servings: 8
time: 1시간 15분
prep time: 15분
cook time: 60분
source: (알려진 경우 원본 출처 추가)
tags: [베이킹, 아침, 디저트]
calories: 280 kcal
carbohydrates: 52 g
protein: 4 g
fat: 7 g
fiber: 2 g
---
#오븐{}을 350°F로 예열하세요.
#큰 믹싱 볼{}에 @잘 익은 바나나{3}를 넣고 부드러워질 때까지 으깨세요.
@녹인 버터{1/3%컵}, @설탕{3/4%컵}, @계란{1}, @바닐라 추출물{1%작은술}을 섞으세요.
@베이킹 소다{1%작은술}, @소금{1%꼬집}, @중력 밀가루{1.5%컵}를 추가하고 섞일 때까지 저으세요.
반죽을 기름칠한 #식빵 틀{}에 붓습니다.
~오븐{60%분} 동안 또는 가운데에 이쑤시개를 꽂았을 때 깨끗하게 나올 때까지 굽습니다.
식힌 후 자릅니다.
참고
CookCLI 가져오기
# 기본 가져오기
cook import "https://example.com/recipe"
# 특정 이름으로 저장
cook import "https://example.com/recipe" -o "내 레시피.cook"
지원되는 사이트: CookCLI는 recipe-scrapers 라이브러리를 사용합니다. 대부분의 주요 요리 사이트가 작동합니다. 가져오기가 실패하면 수동 변환을 사용하세요.
수동 변환 패턴
인식할 재료 패턴:
- "큰 달걀 3개" →
@큰 달걀{3} - "밀가루 1컵" →
@밀가루{1%컵} - "소금 약간" →
@소금 - "마늘 2-3쪽" →
@마늘{2-3%쪽} - "바닐라 1/2작은술" →
@바닐라{1/2%작은술}
시간 패턴:
- "30분간 굽습니다" →
~오븐{30%분} - "1시간 동안 끓입니다" →
~{1%시간} - "10-15분 휴지" →
~{10-15%분}
조리 도구 패턴:
- "큰 볼" →
#큰 믹싱 볼{} - "9x13 팬" →
#9x13 베이킹 팬{} - "프라이팬에" →
#프라이팬{}
메타데이터 추출
다음 일반적인 필드를 찾으세요:
- 제목: 레시피 이름, 일반적으로 제목
- 인분: "4인분", "12개 분량", "2컵 산출"
- 시간: "총 시간: 45분", "준비: 15, 조리: 30"
- 출처: 원본 URL 또는 "출처: ..."
- 작성자: 크레딧이 있다면 레시피 제작자
영양 정보 (1회 분량 기준) — 항상 존재하면 추출:
calories— kcalcarbohydrates— g (탄수화물)protein— g (단백질)fat— g (지방)fiber— g (식이섬유)sugar— g (당류)saturated_fat— g (포화지방산)sodium— mg (나트륨/소금)
JS로 영양 정보를 렌더링하는 사이트(예: lidl-kochen.de)의 경우 항상 /print/ URL 변형을 가져오세요. 모든 값이 포함된 정적 PDF를 반환합니다.
Cooklang 구문 미리 알림
---(절대>>아님)로 묶인 YAML 머리말- 여러 단어 재료:
@간 흑후추{} - 단위가 있는 수량:
{500%g}이렇게,{500g}아님 - 빈 줄로 단계 구분