Compare commits
5 commits
96fcad7f7d
...
902af258a3
Author | SHA1 | Date | |
---|---|---|---|
902af258a3 | |||
2a631e46fd | |||
b527bbf48e | |||
9e5299377a | |||
44cfec0496 |
4 changed files with 38 additions and 6 deletions
16
README.md
16
README.md
|
@ -32,7 +32,6 @@ Here's an example recipe, which could be saved to `_recipes/chocolate_cake.yml`:
|
||||||
---
|
---
|
||||||
name: Chocolate cake
|
name: Chocolate cake
|
||||||
author: Jane Crocker
|
author: Jane Crocker
|
||||||
layout: recipe
|
|
||||||
|
|
||||||
ingredients:
|
ingredients:
|
||||||
- [1, egg, null]
|
- [1, egg, null]
|
||||||
|
@ -48,20 +47,29 @@ time: 240
|
||||||
```
|
```
|
||||||
- `name` (string) - The displayed name of the recipe. Does not appear in the URL.
|
- `name` (string) - The displayed name of the recipe. Does not appear in the URL.
|
||||||
- `author` (string, optional) - The author of the recipe.
|
- `author` (string, optional) - The author of the recipe.
|
||||||
- `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`. The third field is optional - `[1, egg, null]` is the same as `[1, egg]`.
|
- `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`. The third field is optional - `[1, egg, null]` is the same as `[1, egg]`.
|
||||||
- `method` (list) - A list of steps undertaken to create the recipe, written in plain English. Or whatever language you prefer.
|
- `method` (list) - A list of steps undertaken to create the recipe, written in plain English. Or whatever language you prefer.
|
||||||
- `time` (string, optional) - The time it takes to make the recipe in minutes.
|
- `time` (string, optional) - 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.md` and not `strawberry_pie.md`.
|
The recipe's file name isn't important, but it's good practice to make it something obvious, like `chocolate_cake.md` and not `strawberry_pie.md`.
|
||||||
|
|
||||||
The recipe files are standard YAML. The extension should always be `.md` - other extensions will cause issues with subrecipes (see #1).
|
The recipe files are standard YAML. Every recipe **must** begin and end with three dashes [to ensure that Jekyll processes it](https://jekyllrb.com/docs/front-matter/).
|
||||||
|
|
||||||
|
Good:
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
name: Example
|
||||||
|
---
|
||||||
|
```
|
||||||
|
Bad:
|
||||||
|
```yaml
|
||||||
|
name: Example
|
||||||
|
```
|
||||||
|
|
||||||
### Subrecipes
|
### Subrecipes
|
||||||
Subrecipes behave a little differently to regular recipes:
|
Subrecipes behave a little differently to regular recipes:
|
||||||
- They don't show up on the home page
|
- They don't show up on the home page
|
||||||
- The `time` tag is not supported
|
- 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:
|
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
|
```yaml
|
||||||
|
|
10
_config.yml
10
_config.yml
|
@ -1,3 +1,13 @@
|
||||||
|
defaults:
|
||||||
|
- scope:
|
||||||
|
path: "_recipes"
|
||||||
|
values:
|
||||||
|
layout: "recipe"
|
||||||
|
- scope:
|
||||||
|
path: "_subrecipes"
|
||||||
|
values:
|
||||||
|
layout: "subrecipe"
|
||||||
|
|
||||||
collections:
|
collections:
|
||||||
# note: subrecipes MUST come before recipes, otherwise subrecipe.output will be empty with no error message given. thanks to https://github.com/jekyll/jekyll/issues/5371#issuecomment-247951926
|
# note: subrecipes MUST come before recipes, otherwise subrecipe.output will be empty with no error message given. thanks to https://github.com/jekyll/jekyll/issues/5371#issuecomment-247951926
|
||||||
subrecipes:
|
subrecipes:
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
<{{tag}}>Ingredients</{{tag}}>
|
<{{tag}}>Ingredients</{{tag}}>
|
||||||
<ul>
|
<ul>
|
||||||
{% for item in page.ingredients -%}
|
{% for item in page.ingredients -%}
|
||||||
<li>{{ item[0] }} {% if item[2] %} {{ item[2] }} of {% endif %} {{ item[1] }}</li>
|
<li>{{ item[0] }} {%- if item[2] %} {{ item[2] }} of {% endif %} {{ item[1] }}</li>
|
||||||
{% endfor -%}
|
{% endfor -%}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -14,7 +14,21 @@ layout: default
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|
||||||
<h1>{{ page.name }}</h1>
|
<h1>{{ page.name }}</h1>
|
||||||
<p class='subtle'> {{ page.method.size }} steps - Estimated cooking time: {{ page.time | default: "Not provided" }} {% if page.author %} - By {{ page.author }} {% endif %}</p>
|
{%- if page.time -%}
|
||||||
|
{%- if page.time > 59 %}
|
||||||
|
{%- assign hours = page.time | divided_by: 60 -%}
|
||||||
|
{%- assign minutes = page.time | modulo: 60 -%}
|
||||||
|
{%- assign time = hours | append: " hour" -%}
|
||||||
|
{%- if hours > 1 %}{% assign time = time | append: "s" %}{% endif -%}
|
||||||
|
{%- if minutes > 0 -%}
|
||||||
|
{%- assign time = time | append: " " | append: minutes | append: " minute" -%}
|
||||||
|
{%- if minutes > 1 %}{% assign time = time | append: "s" %}{% endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- else -%}
|
||||||
|
{%- assign time = page.time %}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
<p class='subtle'> {{ page.method.size }} steps - Estimated cooking time: {{ time | default: "Not provided" }} {% if page.author %} - By {{ page.author }} {% endif %}</p>
|
||||||
{%- if applicable_subrecipes %}
|
{%- if applicable_subrecipes %}
|
||||||
<h2> Subrecipes </h2>
|
<h2> Subrecipes </h2>
|
||||||
{% for subrecipe in site.subrecipes -%}
|
{% for subrecipe in site.subrecipes -%}
|
||||||
|
|
Loading…
Reference in a new issue