Compare commits
3 commits
f29445ec4c
...
ac2c1c9680
Author | SHA1 | Date | |
---|---|---|---|
ac2c1c9680 | |||
3b9f29b1b0 | |||
8c1335cff9 |
7 changed files with 115 additions and 4 deletions
1
Gemfile
1
Gemfile
|
@ -8,6 +8,7 @@ source "https://rubygems.org"
|
||||||
# This will help ensure the proper Jekyll version is running.
|
# This will help ensure the proper Jekyll version is running.
|
||||||
# Happy Jekylling!
|
# Happy Jekylling!
|
||||||
gem "jekyll", "~> 4.0.0"
|
gem "jekyll", "~> 4.0.0"
|
||||||
|
gem "html-proofer"
|
||||||
# This is the default theme for new Jekyll sites. You may change this to anything you like.
|
# This is the default theme for new Jekyll sites. You may change this to anything you like.
|
||||||
# gem "minima", "~> 2.5"
|
# gem "minima", "~> 2.5"
|
||||||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
||||||
|
|
21
Gemfile.lock
21
Gemfile.lock
|
@ -8,9 +8,19 @@ GEM
|
||||||
em-websocket (0.5.1)
|
em-websocket (0.5.1)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
|
ethon (0.12.0)
|
||||||
|
ffi (>= 1.3.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
ffi (1.12.2)
|
ffi (1.12.2)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
|
html-proofer (3.15.1)
|
||||||
|
addressable (~> 2.3)
|
||||||
|
mercenary (~> 0.3)
|
||||||
|
nokogumbo (~> 2.0)
|
||||||
|
parallel (~> 1.3)
|
||||||
|
rainbow (~> 3.0)
|
||||||
|
typhoeus (~> 1.3)
|
||||||
|
yell (~> 2.0)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
i18n (1.8.2)
|
i18n (1.8.2)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
|
@ -41,9 +51,16 @@ GEM
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
mercenary (0.3.6)
|
mercenary (0.3.6)
|
||||||
|
mini_portile2 (2.4.0)
|
||||||
|
nokogiri (1.10.8)
|
||||||
|
mini_portile2 (~> 2.4.0)
|
||||||
|
nokogumbo (2.0.2)
|
||||||
|
nokogiri (~> 1.8, >= 1.8.4)
|
||||||
|
parallel (1.19.1)
|
||||||
pathutil (0.16.2)
|
pathutil (0.16.2)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
public_suffix (4.0.3)
|
public_suffix (4.0.3)
|
||||||
|
rainbow (3.0.0)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.10.1)
|
rb-inotify (0.10.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
|
@ -54,17 +71,21 @@ GEM
|
||||||
terminal-table (1.8.0)
|
terminal-table (1.8.0)
|
||||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||||
thread_safe (0.3.6)
|
thread_safe (0.3.6)
|
||||||
|
typhoeus (1.3.1)
|
||||||
|
ethon (>= 0.9.0)
|
||||||
tzinfo (1.2.6)
|
tzinfo (1.2.6)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
tzinfo-data (1.2019.3)
|
tzinfo-data (1.2019.3)
|
||||||
tzinfo (>= 1.0.0)
|
tzinfo (>= 1.0.0)
|
||||||
unicode-display_width (1.6.1)
|
unicode-display_width (1.6.1)
|
||||||
wdm (0.1.1)
|
wdm (0.1.1)
|
||||||
|
yell (2.2.2)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
html-proofer
|
||||||
jekyll (~> 4.0.0)
|
jekyll (~> 4.0.0)
|
||||||
tzinfo (~> 1.2)
|
tzinfo (~> 1.2)
|
||||||
tzinfo-data
|
tzinfo-data
|
||||||
|
|
63
README.md
63
README.md
|
@ -1,3 +1,64 @@
|
||||||
# recipe-site
|
# 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
|
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`.
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
<link rel='stylesheet' href='/style.css'>
|
||||||
<title>{{ page.title }}</title>
|
<title>{{ page.title }}</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
|
@ -19,9 +19,11 @@ layout: default
|
||||||
<h2> Subrecipes </h2>
|
<h2> Subrecipes </h2>
|
||||||
{% for subrecipe in site.subrecipes -%}
|
{% for subrecipe in site.subrecipes -%}
|
||||||
{%- if subrecipe.parents contains id -%}
|
{%- if subrecipe.parents contains id -%}
|
||||||
<h3>{{ subrecipe.name }}</h3>
|
|
||||||
<div class='subrecipe' id='sr-{{ subrecipe.name | downcase | url_encode }}'>
|
<div class='subrecipe' id='sr-{{ subrecipe.name | downcase | url_encode }}'>
|
||||||
{{ subrecipe.output }}
|
<h3>{{ subrecipe.name }}</h3>
|
||||||
|
<div class='subrecipe-output'>
|
||||||
|
{{ subrecipe.output }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|
25
style.css
Normal file
25
style.css
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
.subrecipe {
|
||||||
|
background-color: #eee;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.subrecipe h3 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.subrecipe-output {
|
||||||
|
height: 0;
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
.subrecipe.open .subrecipe-output {
|
||||||
|
height: min-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-type: "- ";
|
||||||
|
}
|
||||||
|
ul, ol {
|
||||||
|
list-style-position: inside;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
Loading…
Reference in a new issue