• Stars
    star
    302
  • Rank 138,030 (Top 3 %)
  • Language
    Emacs Lisp
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A package for making a cookbook and managing recipes with org-mode.

./img/org-chef.png

Introduction

org-chef is a package for managing recipes in org-mode. One of the main features is that it can automatically extract recipes from websites like allrecipes.com

Installation

org-chef is available on MELPA!

I manage my packages via use-package. I have added this to my .emacs file to install org-chef:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)

(require 'use-package)

(use-package org-chef
  :ensure t)

Org-Capture

It’s recommended that you set up an org-capture template to capture recipes. Here is an example of that:

(setq org-capture-templates
      '(("c" "Cookbook" entry (file "~/org/cookbook.org")
         "%(org-chef-get-recipe-from-url)"
         :empty-lines 1)
        ("m" "Manual Cookbook" entry (file "~/org/cookbook.org")
         "* %^{Recipe title: }\n  :PROPERTIES:\n  :source-url:\n  :servings:\n  :prep-time:\n  :cook-time:\n  :ready-in:\n  :END:\n** Ingredients\n   %?\n** Directions\n\n")))

When capturing to the cookbook it will prompt you for a URL, you can then paste a URL like the following into the mini-buffer, and it will fill in as many details as it can. Here is an example recipe:

http://allrecipes.com/recipe/85452/homemade-black-bean-veggie-burgers/

Which will be extracted to something like the following:

* Homemade Black Bean Veggie Burgers
  :PROPERTIES:
  :source-url: https://www.allrecipes.com/recipe/85452/homemade-black-bean-veggie-burgers/
  :servings: 4
  :prep-time: 15  m
  :cook-time: 20  m
  :ready-in: 35  m
  :END:
** Ingredients

   - 1 (16 ounce) can black beans, drained and rinsed
   - 1/2 green bell pepper, cut into 2 inch pieces
   - 1/2 onion, cut into wedges
   - 3 cloves garlic, peeled
   - 1 egg
   - 1 tablespoon chili powder
   - 1 tablespoon cumin
   - 1 teaspoon Thai chili sauce or hot sauce
   - 1/2 cup bread crumbs
** Directions

   1. If grilling, preheat an outdoor grill for high heat, and lightly oil a sheet of aluminum foil. If baking, preheat oven to 375 degrees F (190 degrees C), and lightly oil a baking sheet.
   2. In a medium bowl, mash black beans with a fork until thick and pasty.
   3. In a food processor, finely chop bell pepper, onion, and garlic. Then stir into mashed beans.
   4. In a small bowl, stir together egg, chili powder, cumin, and chili sauce.
   5. Stir the egg mixture into the mashed beans. Mix in bread crumbs until the mixture is sticky and holds together. Divide mixture into four patties.
   6. If grilling, place patties on foil, and grill about 8 minutes on each side. If baking, place patties on baking sheet, and bake about 10 minutes on each side.

Additionally, there is a capture template in there for manually entering a recipe, if you so desire!

Inserting at Point

You can also insert a recipe at point using the command org-chef-insert-recipe.

Editing recipes

You can change the number of servings in a recipe using the command org-chef-edit-servings. This will automatically update the ingredients list to match.

Supported Sites

The following websites should support recipe extraction:

Contributing

Contributions are very welcome! Feel free to open pull requests and issues (and feel free to include a recipe that you like in it!)

If you find a site that you like that doesn’t currently work with org-chef, then you should definitely let us know through a GitHub issue! org-chef’s goal is to support as many sites as possible, so missing websites are considered bugs!

Additionally, there is a #org-chef channel on freenode that you’re welcome to join. Share recipes, give each other org-chef tips, be happy :).

More Repositories

1

EmulArd

Arduino emulation! Well, sort of! A fake Arduino.h and black magic for testing Arduino code on any computer, and it even allows you to test entire networks of Arduinos!
C++
5
star
2

PiBellards

Implementation of Bellard's algorithm for calculating pi to 'n' digits in Haskell.
Haskell
4
star
3

Coqplexity

Reasoning about complexity classes in Coq with Coquelicot
Coq
3
star
4

MooXtract

A simple Haskell program for extracting Moodle submissions.
Haskell
3
star
5

DocsDuck

Haskell script to upload Moodle grade sheets into DocsDB automagically! Yay magic!
Haskell
3
star
6

Haithon

A Haskell parser for a subset of the Python language. The intention of this project is two-fold! Firstly, I wish to try out Parsec's handling of indentation sensitive languages, and secondly I want to experiment with using this as some course material!
Haskell
3
star
7

HaRay

Hurray, it's HaRay! Yet another Haskell ray-tracer based on accelerate.
Haskell
2
star
8

cofq

System F in Coq
Coq
2
star
9

SnackBot

Slack bot for snacks.
Haskell
2
star
10

dsss17-slack

#coq from the DSSS17 slack summarized.
2
star
11

reflex-GLFW-b-luminance

GLFW-b and luminance reflex interface.
Haskell
2
star
12

TimePaper

Create a wallpaper displaying your average time usage!
Haskell
2
star
13

Hipster

A Haskell MIPS EDSL. Mostly for "educational purposes" (TM). More seriously the goal of this is to explore assembly DSLs in Haskell, and see how they're put together and what makes them tick. Can these be useful? Probably! One of the main goals is to allow for composable abstractions of assembly code, and automatic register allocation / spilling. In theory this could be more general and support multiple backends (after all there is overlap with LLVM's functionality), but an additional goal is to be able to generate readable, and documented assembly code. Because of this, it's beneficial to stick to one target assembly language, at least for experimentation!
Haskell
2
star
14

Schimpy

Language for the formal verification of Arduino code. The compiler generates executable Arduino code, as well as models for both the NuSMV model checker and the PRISM model checker which can be used to verify that certain properties on the program hold.
Common Lisp
2
star
15

gradelens.el

An Emacs grading tool.
Emacs Lisp
1
star
16

XMOPP

A haskell XMPP server.
Haskell
1
star
17

LCDConvert

Convert images to the .lcd format (raw 16 byte colour values).
Haskell
1
star
18

MultiKill

Combine multiple imputation models for great justice.
Haskell
1
star
19

ForceGraphs

Dinky Haskell project for force directed graph drawing.
Haskell
1
star
20

ReflexPong

Pong in Haskell using the Reflex FRP framework. Not necessarily a game of significant reflexes.
Haskell
1
star
21

c495-presentation-2015

Presentation on Formal Verification / Coq / Whatever.
TeX
1
star
22

Chug

C suggestions and linting.
Haskell
1
star
23

Pastor

Simple pastebin application to test Servant.
Haskell
1
star
24

SIN-validate

Program to validate Canadian social insurance numbers.
Haskell
1
star
25

Rotunda

The scheduler of life.
Haskell
1
star
26

ToyFecta

Playing around with ekmett's Trifecta library for magical parsing of wonders!
Haskell
1
star
27

SurvivalPlot

Plot survival curves.
Haskell
1
star
28

hark

A simple tool for automatically grading assignments
Haskell
1
star
29

bb

Haskell
1
star
30

BatchMTLR

Run the PSSP MTLR program from http://pssp.srv.ualberta.ca/downloads/new across numerous training sets.
Haskell
1
star
31

undefined-behaviour-talk

TeX
1
star
32

FeatureSquish

Remove features at random from a data set for great justice.
Haskell
1
star
33

attoIssue

Haskell
1
star
34

mci-haskell

Modern Compiler Implementation in Haskell
Haskell
1
star
35

SerialTimer

Programs to time how fast an Arduino can send things over the serial port.
Haskell
1
star
36

bctfcs

Basic Category Theory for Computer Scientists in Coq
1
star
37

ob-llvm

Org-babel for LLVM optimizations.
Emacs Lisp
1
star
38

MuxParse

A library for parsing .mux files -- these are files used to describe a network for an Arduino hub. Basically the files give a mapping of certain inputs to certain outputs on an Arduino.
C
1
star
39

BananaDay

Playing with reactive banana for fun and profit.
Haskell
1
star
40

Plovert

A glorious program to convert Plover's JSON dictionary to a Cheno dictionary. Possibly others in the future too! In Haskell! BAM!
Haskell
1
star
41

mathform

Transform your maths into other maths! A Haskell library / utility for converting mathematical expressions between representations. For instance you might convert some LaTeX arithmetic to a format that can be plugged directly into Sage, Python, or Haskell.
Haskell
1
star
42

NoteTakers

Scripts and templates for taking notes in LaTeX.
Makefile
1
star
43

MuxDuino

A library for turning an Arduino into a fancy pants multiplexing / routing machine! Redirect inputs to other output pins allowing you to connect a series of devices in a network of arbitrary topologies!
C++
1
star
44

HubGen

This is a simple little C program that uses the MuxParse library to parse a ".mux" file which describes a pin mapping on an Arduino (essentially tells you what inputs should be redirected to what outputs), and then using the information from the ".mux" file generates an Arduino C++ program which uses the MuxDuino library to make the Arduino actually redirect inputs and outputs as specified in the file!
C
1
star
45

paper-handler

Takes file of <firstname>:<email> entries, a file of names, and generates a file of e-mail entries for those names.
Haskell
1
star