diff --git a/README.md b/README.md index 3fe48a8..5cf0789 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,64 @@ # 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 site for keeping track of recipes 0u0 \ No newline at end of file +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`.