An open API service indexing awesome lists of open source software.

https://github.com/shepherdjerred/cooklang-for-obsidian

Obsidian plugin for viewing and editing Cooklang recipe files
https://github.com/shepherdjerred/cooklang-for-obsidian

Last synced: about 1 month ago
JSON representation

Obsidian plugin for viewing and editing Cooklang recipe files

Awesome Lists containing this project

README

          

# Cooklang Rich Preview

An [Obsidian](https://obsidian.md) plugin for previewing [Cooklang](https://cooklang.org/) `.cook` recipe files.

![Rich recipe preview with ingredients, directions, and metadata](screenshots/preview.png)

## Features

- Rich recipe rendering with ingredients, cookware, and timers highlighted
- YAML frontmatter support for metadata (title, servings, prep time, etc.)
- Section-aware rendering (ingredients list, directions with step numbers)
- Inline quantity display for ingredients
- Checkbox support for ingredient lists
- Syntax highlighting for `.cook` files
- Supports both Cooklang markup and plain-text recipes

## Installation

### From Obsidian Community Plugins

1. Open Settings > Community plugins
2. Search for "Cooklang"
3. Click Install, then Enable

### Manual Installation

1. Download `main.js`, `manifest.json`, and `styles.css` from the [latest release](https://github.com/shepherdjerred/cooklang-for-obsidian/releases/latest)
2. Create a folder `cooklang-rich-preview` in your vault's `.obsidian/plugins/` directory
3. Copy the downloaded files into that folder
4. Restart Obsidian and enable the plugin in Settings > Community plugins

## Screenshots

### File Explorer

`.cook` files appear in your vault alongside your other notes.

![File explorer showing .cook recipe files](screenshots/file-explorer.png)

### Source View

Write recipes using Cooklang syntax with YAML frontmatter for metadata.

![Source view of a .cook file](screenshots/source-view.png)

### Rich Preview

Ingredients are highlighted with quantities, directions are numbered, and timers stand out.

![Rich preview rendering of a recipe](screenshots/preview.png)

## Cooklang Syntax

```
Preheat #oven{} to 350°F.

Mix @flour{2%cups} and @sugar{1%cup} in a #bowl{}.

Bake for ~{30%minutes}.
```

- `@ingredient{quantity%unit}` — ingredients
- `#cookware{}` — cookware
- `~{quantity%unit}` — timers

## License

GPL-3.0 — see [LICENSE](LICENSE) for details.