@@ -123,10 +131,6 @@
{{ site.translation[site.language].directions
{% endif %}
- {% for category in page.categories %}
-
{{ site.translation[site.language].category }}: {{ category }}
- {% endfor %}
-
diff --git a/courses.html b/courses.html
new file mode 100644
index 000000000..728169450
--- /dev/null
+++ b/courses.html
@@ -0,0 +1,44 @@
+---
+layout: default
+---
+
+{% assign allTags = "" %}
+{% for recipe in site.recipes %}
+{% if recipe.courses and recipe.courses != empty %}
+{% assign thisTags = recipe.courses | join:'|' | append:'|' %}
+{% assign allTags = allTags | append:thisTags %}
+{% endif %}
+{% endfor %}
+{% assign allTags = allTags | split:'|' | sort | uniq %}
+
+
+
+ {% include tag-navigation.html %}
+ Courses
+ {% include course.html courses=allTags %}
+
+
+ {% unless allTags[0] %}
+
No recipes are marked as being for a specific course.
+ {% endunless %}
+
+ {% for course in allTags %}
+
+
{{ course }}
+ {% for recipe in site.recipes %}
+ {% if recipe.courses contains course %}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
diff --git a/css/main.scss b/css/main.scss
index f22d26ed4..ab3152123 100755
--- a/css/main.scss
+++ b/css/main.scss
@@ -51,3 +51,4 @@ a:hover .image{opacity:0.2;}
.border-1 { border-width: 1px; }
.border-1:active { border-width: 1px; }
.capitalize { text-transform: capitalize; }
+.nowrap { white-space: nowrap; }
diff --git a/cuisines.html b/cuisines.html
new file mode 100644
index 000000000..e89cf251f
--- /dev/null
+++ b/cuisines.html
@@ -0,0 +1,44 @@
+---
+layout: default
+---
+
+{% assign allTags = "" %}
+{% for recipe in site.recipes %}
+{% if recipe.cuisines and recipe.cuisines != empty %}
+{% assign thisTags = recipe.cuisines | join:'|' | append:'|' %}
+{% assign allTags = allTags | append:thisTags %}
+{% endif %}
+{% endfor %}
+{% assign allTags = allTags | split:'|' | sort | uniq %}
+
+
+
+ {% include tag-navigation.html %}
+ Cuisines
+ {% include cuisine.html cuisines=allTags %}
+
+
+ {% unless allTags[0] %}
+
No recipes are marked as being for a specific cuisine.
+ {% endunless %}
+
+ {% for cuisine in allTags %}
+
+
{{ cuisine | capitalize }}
+ {% for recipe in site.recipes %}
+ {% if recipe.cuisines contains cuisine %}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
diff --git a/diets.html b/diets.html
new file mode 100644
index 000000000..9071170c7
--- /dev/null
+++ b/diets.html
@@ -0,0 +1,46 @@
+---
+layout: default
+---
+
+{% assign allTags = "" %}
+{% for recipe in site.recipes %}
+{% if recipe.diets and recipe.diets != empty %}
+{% assign thisTags = recipe.diets | join:'|' | append:'|' %}
+{% assign allTags = allTags | append:thisTags %}
+{% endif %}
+{% endfor %}
+{% assign allTags = allTags | split:'|' | sort | uniq %}
+
+
+
+ {% include tag-navigation.html %}
+ Diets
+ {% include diet.html diets=allTags %}
+
+
+ {% unless allTags[0] %}
+
No recipes are marked as being for a specific diet.
+ {% endunless %}
+
+ {% for diet in allTags %}
+
+ {% assign dietKey = diet | append:"Diet" %}
+
{{ site.data.diets[dietKey].name }}
+ ⓘ
+ {% for recipe in site.recipes %}
+ {% if recipe.diets contains diet %}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
diff --git a/feed.xml b/feed.xml
index fa12cfa73..c1bae19cc 100644
--- a/feed.xml
+++ b/feed.xml
@@ -20,8 +20,8 @@ layout: null
{% for tag in post.tags %}
{{ tag | xml_escape }}
{% endfor %}
- {% for cat in post.categories %}
-
{{ cat | xml_escape }}
+ {% for course in post.courses %}
+
{{ course | xml_escape }}
{% endfor %}
{% endfor %}
diff --git a/js/tag-browse.js b/js/tag-browse.js
new file mode 100644
index 000000000..01cf0d656
--- /dev/null
+++ b/js/tag-browse.js
@@ -0,0 +1,16 @@
+$('div[data-tagged]').hide();
+
+$('[data-tag-name]').click(function(){
+ let tag_name = $(this).data('tag-name');
+ $('div[data-tagged]').hide();
+ $('[data-tag-name]').removeClass('bg-blue').addClass('bg-gray');
+
+ let $el = $('div[data-tagged="'+tag_name+'"]');
+ $(this).addClass('bg-blue').removeClass('bg-gray');
+ $el.show();
+});
+
+if (window.location.hash.length > 1) {
+ let $el = $('[data-tag-name="'+window.location.hash.substring(1)+'"]');
+ $el.trigger('click');
+};
diff --git a/search.json b/search.json
index ac5b589af..9500297b5 100644
--- a/search.json
+++ b/search.json
@@ -3,14 +3,16 @@
[
{% for post in site.recipes %}
{
-
+
"title" : "{{ post.title | escape }}",
{% if post.ingredients %}"ingredients" : "{% for ingredient in post.ingredients %}{{ ingredient | escape }}, {% endfor %}",{% endif %}
{% if post.tags %}"tags" : "{% for tag in post.tags %}{{ tag | escape }} {% endfor %}",{% endif %}
+ {% if post.cuisines %}"cuisines" : "{% for cuisines in post.cuisines %}{{ cuisine | escape }} {% endfor %}",{% endif %}
+ {% if post.diets %}"diets" : "{% for diet in post.diets %}{{ diet | escape }} {% endfor %}",{% endif %}
+ {% if post.courses %}"courses" : "{% for course in post.courses %}{{ course | escape }} {% endfor %}",{% endif %}
"image" : "{{ site.baseurl }}/images/{{ post.image }}",
"url" : "{{ site.baseurl }}{{ post.url }}"
-
+
} {% unless forloop.last %},{% endunless %}
{% endfor %}
]
-
diff --git a/tags.html b/tags.html
new file mode 100644
index 000000000..ddbd17cc2
--- /dev/null
+++ b/tags.html
@@ -0,0 +1,44 @@
+---
+layout: default
+---
+
+{% assign allTags = "" %}
+{% for recipe in site.recipes %}
+{% if recipe.tags and recipe.tags != empty %}
+{% assign thisTags = recipe.tags | join:'|' | append:'|' %}
+{% assign allTags = allTags | append:thisTags %}
+{% endif %}
+{% endfor %}
+{% assign allTags = allTags | split:'|' | sort | uniq %}
+
+
+
+ {% include tag-navigation.html %}
+ Tags
+ {% include tag.html tags=allTags %}
+
+
+ {% unless allTags[0] %}
+
No recipes have any tags yet.
+ {% endunless %}
+
+ {% for tag in allTags %}
+
+
{{ tag }}
+ {% for recipe in site.recipes %}
+ {% if recipe.tags contains tag %}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+