add new artist images and update artist gallery
|
@ -1,48 +1,9 @@
|
|||
---
|
||||
title: The Artist
|
||||
date: 2024-05-22T12:47:43-04:00
|
||||
masonryGallery:
|
||||
- image: /img/art/1.webp
|
||||
- image: /img/art/2.webp
|
||||
- image: /img/art/3.webp
|
||||
- image: /img/art/4.webp
|
||||
- image: /img/art/5.webp
|
||||
- image: /img/art/6.webp
|
||||
- image: /img/art/7.webp
|
||||
- image: /img/art/8.webp
|
||||
- image: /img/art/9.webp
|
||||
- image: /img/art/11.webp
|
||||
- image: /img/art/12.webp
|
||||
- image: /img/art/13.webp
|
||||
- image: /img/art/14.webp
|
||||
- image: /img/art/15.webp
|
||||
- image: /img/art/16.webp
|
||||
- image: /img/art/17.webp
|
||||
- image: /img/art/18.webp
|
||||
- image: /img/art/19.webp
|
||||
- image: /img/art/21.webp
|
||||
- image: /img/art/22.webp
|
||||
- image: /img/art/23.webp
|
||||
- image: /img/art/24.webp
|
||||
- image: /img/art/25.webp
|
||||
- image: /img/art/26.webp
|
||||
- image: /img/art/27.webp
|
||||
- image: /img/art/28.webp
|
||||
- image: /img/art/29.webp
|
||||
- image: /img/art/31.webp
|
||||
- image: /img/art/32.webp
|
||||
- image: /img/art/33.webp
|
||||
- image: /img/art/34.webp
|
||||
- image: /img/art/35.webp
|
||||
- image: /img/art/36.webp
|
||||
- image: /img/art/37.webp
|
||||
- image: /img/art/38.webp
|
||||
- image: /img/art/39.webp
|
||||
- image: /img/art/41.webp
|
||||
- image: /img/art/42.webp
|
||||
- image: /img/art/43.webp
|
||||
- image: /img/art/44.webp
|
||||
- image: /img/art/45.webp
|
||||
art:
|
||||
- main: /img/art/1.webp
|
||||
galleryImage:
|
||||
---
|
||||
Introducing **Ian Gallo**, a metal sculpture artist who is rapidly making a name for himself through his unique approach to metalworking.
|
||||
|
||||
|
|
|
@ -7,11 +7,12 @@
|
|||
{{ partial "metadata.html" . }}
|
||||
<div class="mt-2 flex flex-col gap-4">{{ .Content }}</div>
|
||||
{{ partial "buttons.html" . }} {{ if .Params.catalog }} {{ partial
|
||||
"rental-catalog.html" . }} {{ end }}
|
||||
"rental_catalog.html" . }} {{ end }}
|
||||
{{ if .Params.art }} {{ partial
|
||||
"artist_catalog.html" . }} {{ end }}
|
||||
</div>
|
||||
|
||||
{{ partial "questions.html" . }} {{ partial "gallery.html" . }} {{ partial
|
||||
"masonry_gallery.html" . }}
|
||||
{{ partial "questions.html" . }} {{ partial "gallery.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
|
226
themes/gallo/layouts/partials/artist_catalog.html
Normal file
|
@ -0,0 +1,226 @@
|
|||
<div
|
||||
class="mt-2 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-3 gap-4"
|
||||
>
|
||||
{{ range .Params.art }} {{ if ne .item "" }}
|
||||
<div class="flex flex-col bg-white rounded-lg border p-4 relative">
|
||||
<img
|
||||
loading="lazy"
|
||||
src="{{ .main }}"
|
||||
alt="Placeholder Image"
|
||||
class="w-full h-48 rounded-md object-cover"
|
||||
/>
|
||||
<div class="h-full grid grid-cols-1 place-items-end pt-5">
|
||||
<a class="w-full" href="#modal-{{ .item | urlize }}">
|
||||
<button
|
||||
type="button"
|
||||
class="w-full px-3 py-2 text-xs font-medium text-center text-white bg-black rounded-lg hover:bg-gray-800 focus:ring-4 focus:outline-none transition-all duration-200"
|
||||
>
|
||||
Expand
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
id="modal-{{ .item | urlize }}"
|
||||
class="fixed z-10 inset-0 overflow-y-auto hidden bg-gray-500 bg-opacity-75 transition-opacity"
|
||||
aria-labelledby="modal-title"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
>
|
||||
<div
|
||||
class="flex items-end justify-center min-h-screen p-4 text-center sm:block sm:p-0"
|
||||
>
|
||||
<div class="fixed inset-0" aria-hidden="true"></div>
|
||||
<span
|
||||
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
||||
aria-hidden="true"
|
||||
>​</span
|
||||
>
|
||||
<div
|
||||
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle self-center sm:max-w-lg w-full"
|
||||
>
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div
|
||||
class="w-full mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-black sm:mx-0 sm:h-10 sm:w-10"
|
||||
>
|
||||
<svg
|
||||
class="h-6 w-6 text-white"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="w-full mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
||||
<h3 class="text-xl mb-2" id="modal-title">
|
||||
<strong>{{ .item }}</strong>
|
||||
</h3>
|
||||
{{ if .gallery }}
|
||||
<div
|
||||
class="mt-8 columns-1 gap-2 sm:columns-2 sm:gap-4 [&>div:not(:first-child)]:mt-4"
|
||||
>
|
||||
{{ range .gallery }}
|
||||
<div
|
||||
class="relative hover:scale-105 ease-in-out duration-200 transition-all hover:shadow-2xl"
|
||||
>
|
||||
<img
|
||||
loading="lazy"
|
||||
class="rounded-lg w-full"
|
||||
src="{{ .image }}"
|
||||
/>
|
||||
<button class="absolute right-2 top-2">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 448 512"
|
||||
class="fill-black w-6 h-6 bg-white p-1 rounded-sm"
|
||||
>
|
||||
<path
|
||||
d="M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="px-1 pt-4 w-full">
|
||||
<div class="text-gray-800 text-base">
|
||||
{{ if ne .quant "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Quantity:</strong>
|
||||
<span>{{ .quant }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if ne .dimensions "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Dimensions:</strong>
|
||||
<span>{{ .dimensions }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if ne .baseCost "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Base Cost:</strong>
|
||||
<span>{{ .baseCost }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if ne .deliveryPickup "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Pickup & Delivery:</strong>
|
||||
<span>{{ .deliveryPickup }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if ne .installBreakdown "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Setup & Breakdown:</strong>
|
||||
<span>{{ .installBreakdown }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if ne .purchaseCost "" }}
|
||||
<div class="flex flex-row justify-between">
|
||||
<strong>Purchase Cost:</strong>
|
||||
<span>{{ .purchaseCost }}</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse">
|
||||
<button
|
||||
id="close-modal"
|
||||
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-black text-base font-medium text-white hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-black sm:ml-3 sm:w-auto sm:text-sm"
|
||||
@click="open = false"
|
||||
>
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }} {{ end }}
|
||||
</div>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const modalButtons = document.querySelectorAll(".grid-cols-1 a");
|
||||
const closeButtons = document.querySelectorAll("#close-modal");
|
||||
const modals = document.querySelectorAll(".fixed");
|
||||
const radioButtons = document.querySelectorAll(
|
||||
'input[type="radio"][name="category"]'
|
||||
);
|
||||
|
||||
function filterItems(category) {
|
||||
console.log("Filtering items for category:", category);
|
||||
const items = document.querySelectorAll(".grid > div");
|
||||
|
||||
items.forEach((item) => {
|
||||
const itemCategory = item.querySelector(".bg-blue-100");
|
||||
if (!category || itemCategory.textContent === category) {
|
||||
item.classList.remove("hidden");
|
||||
} else {
|
||||
item.classList.add("hidden");
|
||||
|
||||
const modalId = item.id.replace("modal-", "");
|
||||
const modal = document.getElementById(modalId);
|
||||
if (modal) modal.classList.add("hidden");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateUrl(category) {
|
||||
const url = window.location.href.split("#")[0];
|
||||
const newUrl = category ? `${url}#${category}` : url;
|
||||
window.history.replaceState({}, "", newUrl);
|
||||
}
|
||||
|
||||
const category = window.location.hash.substring(1);
|
||||
console.log("Initial category:", category);
|
||||
filterItems(category);
|
||||
|
||||
window.addEventListener("hashchange", function () {
|
||||
const newCategory = window.location.hash.substring(1);
|
||||
console.log("New category:", newCategory);
|
||||
filterItems(newCategory);
|
||||
});
|
||||
|
||||
radioButtons.forEach((radio) => {
|
||||
radio.addEventListener("change", function () {
|
||||
const category = this.value;
|
||||
console.log("Selected category:", category);
|
||||
updateUrl(category);
|
||||
filterItems(category);
|
||||
});
|
||||
});
|
||||
|
||||
modalButtons.forEach((button) => {
|
||||
button.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
const modalId = this.getAttribute("href").substring(1);
|
||||
const modal = document.getElementById(modalId);
|
||||
modal.classList.remove("hidden");
|
||||
});
|
||||
});
|
||||
|
||||
closeButtons.forEach((button) => {
|
||||
button.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
const modal = this.closest(".fixed");
|
||||
modal.classList.add("hidden");
|
||||
});
|
||||
});
|
||||
|
||||
if (category) {
|
||||
const radioToSelect = document.querySelector(
|
||||
`input[type="radio"][name="category"][value="${category}"]`
|
||||
);
|
||||
if (radioToSelect) {
|
||||
radioToSelect.checked = true;
|
||||
filterItems(category);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 44 KiB |
BIN
themes/gallo/static/img/art/100.webp
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
themes/gallo/static/img/art/101.webp
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
themes/gallo/static/img/art/102.webp
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
themes/gallo/static/img/art/103.webp
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
themes/gallo/static/img/art/104.webp
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
themes/gallo/static/img/art/105.webp
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
themes/gallo/static/img/art/106.webp
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
themes/gallo/static/img/art/107.webp
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
themes/gallo/static/img/art/108.webp
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
themes/gallo/static/img/art/109.webp
Normal file
After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 42 KiB |
BIN
themes/gallo/static/img/art/110.webp
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
themes/gallo/static/img/art/111.webp
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
themes/gallo/static/img/art/112.webp
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
themes/gallo/static/img/art/113.webp
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
themes/gallo/static/img/art/114.webp
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
themes/gallo/static/img/art/115.webp
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
themes/gallo/static/img/art/116.webp
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
themes/gallo/static/img/art/117.webp
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
themes/gallo/static/img/art/118.webp
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
themes/gallo/static/img/art/119.webp
Normal file
After Width: | Height: | Size: 245 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 271 KiB |
BIN
themes/gallo/static/img/art/120.webp
Normal file
After Width: | Height: | Size: 257 KiB |
BIN
themes/gallo/static/img/art/121.webp
Normal file
After Width: | Height: | Size: 234 KiB |
BIN
themes/gallo/static/img/art/122.webp
Normal file
After Width: | Height: | Size: 321 KiB |
BIN
themes/gallo/static/img/art/123.webp
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
themes/gallo/static/img/art/124.webp
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
themes/gallo/static/img/art/125.webp
Normal file
After Width: | Height: | Size: 251 KiB |
BIN
themes/gallo/static/img/art/126.webp
Normal file
After Width: | Height: | Size: 251 KiB |
BIN
themes/gallo/static/img/art/127.webp
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
themes/gallo/static/img/art/128.webp
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
themes/gallo/static/img/art/129.webp
Normal file
After Width: | Height: | Size: 790 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 188 KiB |
BIN
themes/gallo/static/img/art/130.webp
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
themes/gallo/static/img/art/131.webp
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
themes/gallo/static/img/art/132.webp
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
themes/gallo/static/img/art/133.webp
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
themes/gallo/static/img/art/134.webp
Normal file
After Width: | Height: | Size: 187 KiB |
BIN
themes/gallo/static/img/art/135.webp
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
themes/gallo/static/img/art/136.webp
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
themes/gallo/static/img/art/137.webp
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
themes/gallo/static/img/art/138.webp
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
themes/gallo/static/img/art/139.webp
Normal file
After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 206 KiB |
BIN
themes/gallo/static/img/art/140.webp
Normal file
After Width: | Height: | Size: 153 KiB |
BIN
themes/gallo/static/img/art/141.webp
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
themes/gallo/static/img/art/142.webp
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
themes/gallo/static/img/art/143.webp
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
themes/gallo/static/img/art/144.webp
Normal file
After Width: | Height: | Size: 237 KiB |
BIN
themes/gallo/static/img/art/145.webp
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
themes/gallo/static/img/art/146.webp
Normal file
After Width: | Height: | Size: 246 KiB |
BIN
themes/gallo/static/img/art/147.webp
Normal file
After Width: | Height: | Size: 592 KiB |
BIN
themes/gallo/static/img/art/148.webp
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
themes/gallo/static/img/art/149.webp
Normal file
After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 26 KiB |
BIN
themes/gallo/static/img/art/150.webp
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
themes/gallo/static/img/art/151.webp
Normal file
After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 260 KiB After Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 651 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 194 KiB |
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 721 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 299 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 266 KiB |
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 222 KiB |
Before Width: | Height: | Size: 260 KiB After Width: | Height: | Size: 233 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 392 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 639 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 549 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 455 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 210 KiB |
BIN
themes/gallo/static/img/art/46.webp
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
themes/gallo/static/img/art/47.webp
Normal file
After Width: | Height: | Size: 275 KiB |
BIN
themes/gallo/static/img/art/48.webp
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
themes/gallo/static/img/art/49.webp
Normal file
After Width: | Height: | Size: 133 KiB |