Install dependencies with yarn
yarn install
Then, run the development server:
yarn dev
Open http://localhost:3000/cocktails with your browser to see the result.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
Recipes are stored in .json
files under src/data/recipes/[type]/[source]/[slug].json
, and are nested under their source (book, youtube channel, etc.) The file name should be a url safe slug of the recipe name.
Each recipe file should start by defining it's schema:
{
"$schema": "../../../../schemas/recipe.schema.json",
"name": "TODO"
}
The format of recipes is defined in src/schemas/recipe.schema.json
. Not all fields are required (like instructions
or attributions
.) If you're not sure, put TODO as value and I'll fix them manually. Please do check if the ingredients are already defined inside src/data/ingredients/**
, names are often similar and we want to reuse the defined names whenever possible.
You can validate the new files are valid by running yarn check-data
.
Here's a few common conventions:
- Use
tsp
when a recipe call for a barspoon. - When an ingredient listed is generic use "category" as its type. Only use spirit, liqueur, etc when a specific bottle/brand is called for.
- When a recipe list multiple options (A or B), pick one.
- Prefer using
oz
or other imperial metrics in the recipe file (notml
.) - Only document garnishes in the
instructions
section
Do not use "rich" or "semi-rich" in syrup names. Instead, define the brix level of the specific syrup.
- Rich: 66 brix
- Semi Rich: 60 brix
Add the brix level of a syrup when known. That way users will be able to adjust to match own home bar syrup concentration.