# 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`.