Compare commits

...

3 commits

Author SHA1 Message Date
ac2c1c9680
add a nice readme with proper format documentation and everything!
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-01 05:31:17 +10:00
3b9f29b1b0
added missing html-proofer dependency 2020-03-01 05:21:23 +10:00
8c1335cff9
basic styling 2020-03-01 05:01:50 +10:00
7 changed files with 115 additions and 4 deletions

View file

@ -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

View file

@ -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

View file

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

View file

@ -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>

View file

@ -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>

View file

@ -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
View 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;
}