ここぽんのーと

コードとデザインの境界に生きるエンジニアの、雑多な記録帳。

料理レシピとGitHubは相性がよいのではないか?

2017/03/29, cocopon

こんばんは、料理大好きcocoponです。最近はスパイスカレー作りにはまっています。カレーは宇宙。

料理レシピの管理方法

料理好きな皆さまは、秘伝のレシピをどうやって管理していますか?自分はずっとEvernoteで管理してきました。テキストベースで記録しておけば、いつでも編集できますし、モバイル端末からも簡単に確認できます。

のですが、なんだかサービスの雲行きが怪しい感じで心配です…。

それならば類似のサービス、例えばDropbox Paperに乗り換えればよいのか?というと、Dropbox社がイケイケのうちはよいですが…結局は同じ問題がつきまとうことになります。

友人とそんな話をしていたとき、とあるアイディアが出てきました。

「GitHubで管理すればよいのでは?」

さっそくやってみました。

ひとまずフォーマットはMarkdownにしておきます。レシピのページを開くと…?

プレビュー機能があるので、案外うまいこと表示されています。

料理ってPDCAサイクルが大事だし楽しいじゃないですか。コミットを重ねていくことでひたすら改善していけますし、経年の変化が見られるのは楽しそうです。

料理レシピのデータを構造化したい

Markdownにレシピを移植していると、いろいろなことが気になってきます。名前や表現に揺れがあったり、人数を変えると計算し直さないといけなかったり、…。そもそも複数スレッドが並行で走るのに、箇条書きって向いていない気もします。うまく構造化できないでしょうか。

例えばですよ、まったく精査していませんしすごく雑ですが、こんなふうに…

{
  "portion": 4,
  "gradients": [
    {"id": "touban-jan", "amount": {"id": "teaspoon", "count": 2}},
    ...
  ],
  "process": [
    {"id": "chop", "target": "negi", ...},
    ...
  ],
  ...
}

書けやしないでしょうか。もし標準フォーマットが策定できれば、いい感じのレシピ本を生成したり、調理映像をCGで再現したり、自動調理ロボにお任せしたり…ステキな世界が広がっていくんじゃないかな…。

「玉ねぎを炒める」って手順を書いたら、材料ID “onion” に関連づけられたポリゴンデータを配置して、ばらして、あとはUnityの物理エンジンが鍋に落としてくれる…!そんな夢をみていました。