Weekly Meal Shopper
approvedby AJ
Standardize recipe notes, parse ingredient amounts, and generate weekly shopping lists from a meal-plan canvas. - This plugin has not been manually reviewed by Obsidian staff.
Weekly Meal Shopper
Weekly Meal Shopper standardizes recipe notes, parses ingredient metadata, creates weekly meal-prep canvases, and generates categorized shopping lists from those canvases.
The plugin ships with its own starter templates. You do not need to configure Obsidian's Templates core plugin to use the recipe note or meal-prep canvas commands.
Support the project: Buy Me a Coffee
Network Use, AI, and Privacy
Most of the plugin works fully offline: recipe templates, canvas planning, ingredient parsing, and shopping list generation never leave your vault.
The optional recipe transcription features use the OpenAI API:
Transcribe recipe from URL entry (website/YouTube)sends the page or transcript text you point it at to OpenAI to extract a structured recipe.Transcribe recipes from image foldersends your recipe images to OpenAI for transcription.Standardize current recipe formatcan call OpenAI to align recipe sections when needed.
To use these features you must supply your own OpenAI API key in the plugin settings (an OpenAI account with API billing is required). The key is stored locally in the plugin's data.json inside your vault's .obsidian folder and is only ever sent to OpenAI's API (api.openai.com). If you never set a key, no network requests are made.
The optional macro-tracking nutrition lookup can also touch the network, and is off by default:
- Turning on macro tracking in settings automatically fetches USDA FoodData Central's public-domain Foundation Foods dataset once (
fdc.nal.usda.gov) and stores it locally — no network needed afterward. Desktop only; on mobile it falls back to a small built-in offline dataset instead. - The live lookup fallback (off by default) sends an ingredient name to whichever provider you choose — USDA FoodData Central (
api.nal.usda.gov, requires your own free API key) or Open Food Facts (world.openfoodfacts.org, no key) — only for ingredients not already found locally, and every result is cached so the same ingredient is never looked up twice.
If you never turn on macro tracking or live lookup, no nutrition-related network requests are made.
The plugin collects no telemetry and contains no ads.
First Start
On a fresh install, start here:
- Open
Settings -> Weekly Meal Shopper. - Go to
First-Time Setupat the bottom of the settings page. - Click
Run First-Time Setup. - Choose where the editable canvas template and editable recipe template should live in your vault.
- The plugin will automatically populate both files from its bundled base templates.
- Use
Open Canvas TemplateandOpen Recipe Templateif you want to customize those editable vault copies before creating anything.
After that, the normal workflow is:
- Run
Create weekly meal-prep canvasto create a new weekly canvas from your editable canvas template. - Run
Create recipe note from templatewhenever you want a new recipe note from your editable recipe template. - Add recipe file cards to the weekly canvas.
- Run
Generate weekly shopping list from meal-plan canvas.
Recipe Creation Workflow
- Set
Recipe folderandTranscribe recipes from image folder. - Use
Create recipe note from templatewhenever you want a blank recipe note from your editable recipe template. - Use
Transcribe recipe from URL entry (website/YouTube)when you want the plugin to turn a recipe page or video link into a recipe note. - Use
Transcribe recipes from image folderwhen you want to batch-convert recipe screenshots or photos from your configured inbox folder. - URL and image transcription both save into the same
Recipe folder. - Open the created recipe note and run
Standardize current recipe formatwhen you want the plugin to rewrite ingredients into its structured storage format and refresh direction highlighting alignment. - Use
Populate ingredient metadata from recipe sectionif you only want to refresh parsed ingredient metadata after the note is already standardized.
Supported image inbox formats for folder transcription include jpg/jpeg, png, webp, gif, bmp, heic/heif (Apple Photos), tif/tiff, and avif.
Commands
- Open recipe view in current tab
- Create recipe note from template
- Standardize current recipe format
- Standardize recipe formats in configured folder
- Populate ingredient metadata from recipe section
- Transcribe recipe from URL entry (website/YouTube)
- Transcribe recipes from image folder
- Add ingredient override from current shopping list line
- Set active canvas as weekly meal plan
- Create weekly meal-prep canvas
- Generate weekly shopping list from meal-plan canvas
- Apply frozen leftovers from meal-plan canvas
- Show frozen portions available
Template Files
Plugin-owned bundled template files:
.obsidian/plugins/weekly-meal-shopper/templates/recipe-template.md.obsidian/plugins/weekly-meal-shopper/templates/meal-prep-canvas-template.canvas
On a fresh install these files are created automatically from built-in copies the first time they are needed. Run First-Time Setup copies them into the editable vault paths you choose, and the creation commands use those editable vault copies.
5-Minute Quick Start
- Open plugin settings and run
Run First-Time Setup. - Choose where the editable recipe template and editable meal-prep canvas template should live in your vault.
- Set
Recipe folder,Transcribe recipes from image folder, andWeekly meal-plan canvas. - Run
Create weekly meal-prep canvas. - Run
Create recipe note from templatewhenever you want a new recipe note. - Open your canvas and place recipe file cards.
- Run
Generate weekly shopping list from meal-plan canvas.
Supported image inbox formats for folder transcription include jpg/jpeg, png, webp, gif, bmp, heic/heif (Apple Photos), tif/tiff, and avif.
Expanded Walkthrough
- Open plugin settings and run
Run First-Time Setup. - Choose where the editable recipe template and editable meal-prep canvas template should live in your vault.
- Set
Recipe folder,Transcribe recipes from image folder, andWeekly meal-plan canvas. URL/image transcription saves into the sameRecipe folder. - Run
Create weekly meal-prep canvas. - Run
Create recipe note from templatewhenever you want a new recipe note. - Open your canvas and place recipe file cards.
- Run
Generate weekly shopping list from meal-plan canvas.
Supported image inbox formats for folder transcription include jpg/jpeg, png, webp, gif, bmp, heic/heif (Apple Photos), tif/tiff, and avif.
Recipe Parsing + Formatting
- Ingredients are parsed from the
### Ingredientssection. - Plugin-managed ingredient lines are stored in a fixed 4-slot format:
Amount <separator> Unit <separator> Ingredient <separator> Preparation. - The storage separator is configurable in settings and supports
;,,,:, and|. - Blank slots are explicit, so a line like
1; ; Sweet Potato; Roughly Choppedmeans quantity1, no explicit unit, ingredientSweet Potato, preparationRoughly Chopped. - Parsed ingredient metadata is written to the frontmatter field
IngredientsParsedby default. - Legacy free-text recipe notes should be standardized before recipe view and shopping-list parsing will trust them.
- Recipe view uses a separate display template, so stored ingredient separators are hidden in the reading experience.
- Recipe-view display placeholders are
{{Amount}},{{Unit}},{{Ingredient}},{{Preparation}}, and{{PreparationSuffix}}. - Measurement presets include Vault Standard, Australian, US Customary, and custom mL values.
- Standardized output uses
cup/cups,tbsp, andtspfor volume units. - Measurement preference supports weight-first, volume-first, and both.
- Standardization keeps
type: Recipe, fills in the expected recipe frontmatter fields, and normalizes the main recipe sections.
Recipe View
- Split-pane recipe mode opens in the current tab.
- Left pane: ingredients rendered from parsed metadata with click-to-cross-off state.
- Right pane: directions with step focus box and Vim navigation (
j/k, arrows). - Subheading sync works across matching
####sections between ingredients and directions. - Ingredient highlighting uses parsed ingredient names so it still works even though the stored note format is separator-based.
- Ingredient highlighting can bold ingredients mentioned in the active step and visually sync matching ingredient groups.
Shopping Lists + Meal Prep
- Weekly shopping lists are generated from recipe cards on your active or configured meal-plan canvas.
- Ingredient totals are aggregated across the canvas and grouped into shopping categories.
- Excluded ingredients and ingredient overrides can change what appears on the final shopping list.
- Frozen portions can be projected, inspected, and applied back to recipes through the meal-prep commands.
- Optional shopping-list annotations can show indented recipe usage lines and one-click override links.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.