64 lines
2.5 KiB
Markdown
64 lines
2.5 KiB
Markdown
# recipe-site
|
|
[![Build Status](https://drone.bune.city/api/badges/lynnesbian/recipe-site/status.svg)](https://drone.bune.city/lynnesbian/recipe-site)
|
|
|
|
A simple static [Jekyll](https://jekyllrb.com) site for keeping track of recipes. This is my first major Jekyll project, so it might be a little messy.
|
|
|
|
## Usage
|
|
Ensure that you have [Git](https://git-scm.org), [Ruby](https://www.ruby-lang.org) and [RubyGems](https://rubygems.org/) installed.
|
|
```
|
|
$ git clone https://git.bune.city/lynnesbian/recipe-site
|
|
$ cd recipe-site
|
|
$ gem install bundler
|
|
$ bundle install
|
|
$ bundle exec jekyll build
|
|
```
|
|
This will compile the website into the `_site` directory, which you may serve with the HTTP server of your choice.
|
|
|
|
Alternatively, you can use jekyll's built in server for testing:
|
|
```
|
|
$ bundle exec jekyll serve
|
|
```
|
|
|
|
However, there won't be much to look at until you add some recipes!
|
|
|
|
## Recipe file format
|
|
Recipes are found in `_recipes/`, with subrecipes located in `_subrecipes/`.
|
|
|
|
Here's an example recipe, which could be saved to `_recipes/chocolate_cake.yml`:
|
|
```yaml
|
|
name: Chocolate cake
|
|
layout: recipe
|
|
|
|
ingredients:
|
|
- [1, egg, null]
|
|
- [2, butter, sticks]
|
|
- [2, flour, cups]
|
|
# et cetera
|
|
method:
|
|
- Preheat the oven to 200°C
|
|
- Whisk the egg finely
|
|
# et cetera
|
|
time: 240
|
|
```
|
|
- `name` (string) - The displayed name of the recipe. Does not appear in the URL.
|
|
- `layout` (string) - The template to use; should always be `recipe`.
|
|
- `ingredients` (list) - Each entry in `ingredients` consists of an amount, ingredient name, and unit terminology. `[2, flour, cups]` is displayed as `2 cups of flour`, while `[1, egg, null]` is displayed as `1 egg`.
|
|
- `method` (list) - A list of steps undertaken to create the recipe, written in plain English. Or whatever language you prefer.
|
|
- `time` (string) - The time it takes to make the recipe in minutes.
|
|
|
|
The recipe's file name isn't important, but it's good practice to make it something obvious, like `chocolate_cake.yml` and not `strawberry_pie.yml`.
|
|
|
|
### Subrecipes
|
|
Subrecipes behave a little differently to regular recipes:
|
|
- They don't show up on the home page
|
|
- The `time` tag is not supported
|
|
- `layout` should be `subrecipe`
|
|
|
|
Subrecipes have a tag that regular recipes do not - the `parents` tag. This is a list of recipes that the subrecipe should be included in. For example:
|
|
```yaml
|
|
name: Chocolate icing
|
|
parents:
|
|
- chocolate_cake
|
|
- chocolate_cupcakes
|
|
```
|
|
The entries in `parents` refer to the filenames of the parent recipes - `chocolate_cake` refers to `chocolate_cake.yml`.
|