Personal food recipes and culinary experiments (main-branch-only mirror of https://forge.ejuarezg.com/ejuarezg/food-recipes)
README.md

Personal Food Recipes #

A list of my food recipes and culinary experiments


Description #

This repository contains my personal collection of food recipes, notes on culinary experiments, and general food thoughts. It is intended as a personal archive, but I may share it with others in the future. All content is stored in plain‑text formats (Markdown or Org‑mode) for easy reading and editing. Some recipes are written in the Typst format or LaTeX.

Development disclosure #

This project has been developed with substantial assistance from large language models (LLMs), a form of probabilistic automation. Such tools can produce plausible but incorrect code or explanations; their output does not establish that behavior is correct. The human maintainer is responsible for reviewing changes and validating them with tests.

This wording follows GNOME's “Probabilistically Automated” label and its focus on describing how work was produced without treating a model as a human-like agent. For more on precise, non-anthropomorphic language, see “We Need to Talk About How We Talk About ‘AI’”.

Individual recipes produced with assistance are marked in their entries.


Core Features #

  • Recipes – Detailed, step‑by‑step instructions for dishes I have created or adapted.
  • Experiment notes – Observations, variations, and lessons learned from trying new techniques or ingredients.

Getting Started #

Prerequisites #

None for reading. To compile Typst recipes to PDFs, you will need:

  • Babashka — a Clojure scripting runtime
  • Typst — the Typst compiler
  • fzf — required for the interactive picker and the watch subcommand

Installation #

# Clone the repository
git clone https://git.sr.ht/~ejuarezg/food-recipes

After cloning, you can browse the recipes/ and experiments/ directories to read the markdown or org files.


Usage #

Reading Recipes #

You can browse and read recipes directly — no tools required. Example:

# List all recipe files in the repository
find recipes/ -type f

You can also open any file in your favorite editor (VS Code, Emacs, Vim, etc.) to view or edit the content.

Compiling Typst Recipes to PDF #

The repository includes a build script (build.clj) to compile Typst recipes to PDFs:

# Compile all .typ recipe files to PDF
bb build.clj compile

# Interactively pick recipes (via fzf) and compile them
bb build.clj

# Search indexed recipe metadata with fzf
bb build.clj search --tag spicy --max-time 45

# Validate recipe metadata
bb build.clj check

# Pick a recipe (via fzf) and open it in typst watch for live preview
bb build.clj watch

# Remove all generated PDFs under recipes/
bb build.clj clean

# Show usage information
bb build.clj help

Each PDF is written alongside its source .typ file. The script scans recipes/ recursively and skips lib.typ (the shared template). The watch and search subcommands require fzf; watch blocks until you press CTRL-C, and PDFs are rewritten in place as you save.

Recipe metadata can be added near the top of .md or .typ files with a [metadata] block. Required fields are title, prep_time, cook_time, total_time, difficulty, and tags. For Typst files, use comment-prefixed metadata so Typst ignores it:

// [metadata]
// title: Stir-Fried Gochujang Chicken
// prep_time: 30
// cook_time: 15
// total_time: 45
// difficulty: Medium
// tags: [chicken, Korean, gochujang, spicy]
// ---

Shared assets should live under recipes/assets/ and can be referenced from Typst recipes through the asset("filename.ext") helper in recipes/lib.typ.


High‑Level Architecture #

personal-food-recipes/
├── README.md          # This file
├── LICENSE            # Creative Commons license
├── build.clj          # Babashka build script (compile, watch, clean)
├── recipes/           # Recipes organized by category
│   ├── lib.typ        # Shared Typst template
│   ├── assets/        # Shared recipe media
│   ├── breads/
│   ├── desserts/
│   ├── sides/
│   └── soups/
└── experiments/       # Notes on culinary experiments

The repository is a flat content store:

  • Files are organized by topic (e.g., recipes/breads/, recipes/soups/).
  • Each recipe or experiment lives in its own markdown (.md) or typst (.typ) file.
  • Typst recipes can be compiled to PDF via bb build.clj compile.

License #

This work is licensed under a Creative Commons 0 (CC0) 1.0 Universal License. See the LICENSE file for details.


Project Status #

This is a personal collection; it is not intended as a formal software project. Feel free to explore or fork it for your own use.


Contributing #

Since this is a personal archive, contributions are not actively solicited. If you find something useful, you may fork the repository and adapt it to your own needs.


Happy cooking and experimenting!