summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.toml5
-rw-r--r--content/_index.md54
-rw-r--r--layouts/shortcodes/artlist.html2
-rw-r--r--static/style.css44
4 files changed, 101 insertions, 4 deletions
diff --git a/config.toml b/config.toml
index f5f4f7a..e277fe1 100644
--- a/config.toml
+++ b/config.toml
@@ -2,3 +2,8 @@ baseURL = 'https://based.cooking/'
languageCode = 'en-us'
title = 'Based Cooking'
theme = 'lugo'
+
+[markup]
+ [markup.goldmark]
+ [markup.goldmark.renderer]
+ unsafe = true
diff --git a/content/_index.md b/content/_index.md
index e06deb1..53c9e99 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -2,14 +2,62 @@
title: "🍲 Based Cooking 🍳"
---
-## Categories
+## What do you want to cook?
-{{< tagcloud >}}
+<div class="search">
+ <input type="text" id="search" placeholder="Search...">
+ <button class="clear-search">
+ <svg xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512"><title>Backspace</title><path d="M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z" fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="32"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33"></path></svg>
+ </button>
+</div>
+
+<script>
+document.addEventListener('DOMContentLoaded', () => {
+ const rec = document.querySelectorAll('#artlist li')
+ const search = document.querySelector('#search')
+ const clearSearch = document.querySelector('.clear-search')
+ const artlist = document.getElementById('artlist')
+
+ search.addEventListener('input', e => {
+ // grab search input value
+ const searchText = e.target.value.toLowerCase()
+
+ const hasFilter = searchText.length > 0;
+
+ // for each recipe hide all but matched
+ let matchCount = 0;
+ rec.forEach(el => {
+ const recipeName = el.innerText.toLowerCase()
+ const isMatch = recipeName.includes(searchText)
+
+ el.hidden = !isMatch
+ el.classList.toggle('matched-recipe', isMatch && searchText.length !== 0);
+ if (hasFilter && isMatch) {
+ matchCount++;
+ }
+ })
-## All Recipes
+ artlist.classList.toggle('list-searched', matchCount > 0);
+ })
+
+ clearSearch.addEventListener('click', e => {
+ search.value = ''
+ rec.forEach(el => {
+ el.hidden = false
+ el.classList.remove('matched-recipe');
+ })
+
+ artlist.classList.remove('list-searched') ;
+ })
+})
+</script>
{{< artlist >}}
+## Or Browse by Category...
+
+{{< tagcloud >}}
+
## About this site
Founded to provide a simple online cookbook without ads and obese web design.
diff --git a/layouts/shortcodes/artlist.html b/layouts/shortcodes/artlist.html
index ef3eeb8..fa7a62e 100644
--- a/layouts/shortcodes/artlist.html
+++ b/layouts/shortcodes/artlist.html
@@ -1,5 +1,5 @@
<ul id=artlist>
{{range.Site.RegularPages}}
-<li><a href="{{.Permalink}}">{{.Title}}</a></li>
+<li><a href="{{.Permalink}}">{{.Title}}<span style="display:none">{{.Params.Tags}}</span></a></li>
{{end}}
</ul>
diff --git a/static/style.css b/static/style.css
index f4ea240..0c659ba 100644
--- a/static/style.css
+++ b/static/style.css
@@ -51,6 +51,7 @@ h1 {
h2 {
color: tomato ;
+ text-align: center ;
}
footer {
@@ -113,3 +114,46 @@ img[alt="XMR Logo"] {
@media (min-width: 100em) {
#artlist { column-count: 3 ;}
}
+
+
+input#search {
+ all: unset;
+ background: #222;
+ color: #fff;
+ padding: 0.7rem 1rem;
+ border-radius: 5px;
+ width: 100%;
+}
+
+.search {
+ width: 400px;
+ max-width: 85vw;
+ position: relative;
+ margin: 0.5rem auto 1.2rem;
+ display: flex;
+}
+
+button.clear-search {
+ all: unset;
+ position: absolute;
+ right: 4px;
+ top: 5px;
+ height: 30px;
+ width: 30px;
+ color: #888;
+ cursor: pointer;
+ transition: color 180ms ease-in-out;
+}
+button.clear-search:hover {
+ color: #eee;
+}
+
+
+.matched-recipe {
+ font-size: x-large ;
+}
+
+.list-searched {
+ column-count: 1 !important ;
+ list-style: decimal ;
+}