added gallery scripts for all folders
This commit is contained in:
parent
95d2cbfccb
commit
72b5d0da7a
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"liveServer.settings.port": 5502
|
"liveServer.settings.port": 5503
|
||||||
}
|
}
|
||||||
1
assets/pics/gallery/classic/20230617_131551.txt
Normal file
1
assets/pics/gallery/classic/20230617_131551.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
20' Classic Arch
|
||||||
BIN
assets/pics/gallery/classic/20230617_131551.webp
Normal file
BIN
assets/pics/gallery/classic/20230617_131551.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 MiB |
1
assets/pics/gallery/classic/_Photos_20241207_083534.txt
Normal file
1
assets/pics/gallery/classic/_Photos_20241207_083534.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Classic Columns
|
||||||
BIN
assets/pics/gallery/classic/_Photos_20241207_083534.webp
Normal file
BIN
assets/pics/gallery/classic/_Photos_20241207_083534.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 MiB |
BIN
assets/pics/gallery/organic/20241121_200047~2.jpg
Normal file
BIN
assets/pics/gallery/organic/20241121_200047~2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
assets/pics/gallery/organic/20250202_133930~2.jpg
Normal file
BIN
assets/pics/gallery/organic/20250202_133930~2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
@ -0,0 +1,78 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Centerpieces</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Centerpieces</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
150
gallery/centerpiece/updateGallery.sh
Executable file
150
gallery/centerpiece/updateGallery.sh
Executable file
@ -0,0 +1,150 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Directory where images are stored
|
||||||
|
IMAGE_DIR="../../assets/pics/gallery/centerpiece"
|
||||||
|
OUTPUT_FILE="index.html"
|
||||||
|
|
||||||
|
# Ensure the images directory exists
|
||||||
|
if [ ! -d "$IMAGE_DIR" ]; then
|
||||||
|
echo "Error: Directory '$IMAGE_DIR' not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start writing the HTML file
|
||||||
|
cat > "$OUTPUT_FILE" <<EOL
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Centerpieces</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Centerpieces</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add images dynamically with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
# Read caption if available, otherwise use default
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"> <figure class=\"image is-square\"> <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></figure></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add closing tags for the gallery
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add lightbox overlays with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <img class="image is-square" src=\"$IMAGE_DIR/$filename\" alt=\"$caption\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <div><p class=\"caption\" style=\"color: black; text-align: center; margin-top: 10px;\">$caption</p></div>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Finish the HTML file
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
||||||
|
|
||||||
@ -7,28 +7,31 @@
|
|||||||
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Beach Party Balloons</title>
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
<link
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
rel="stylesheet"
|
|
||||||
href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
<link rel="stylesheet" href="../../style.css">
|
<link rel="stylesheet" href="../../style.css">
|
||||||
<link href="../../lightbox.css" rel="stylesheet" />
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20%; right: 10%; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
<div class="navbar-brand is-size-1">
|
<div class="navbar-brand is-size-1">
|
||||||
<a class="navbar-item" href="../../index.html">
|
<a class="navbar-item" href="../../index.html">
|
||||||
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
@ -36,81 +39,48 @@
|
|||||||
<span aria-hidden="true"></span>
|
<span aria-hidden="true"></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
<div class="navbar-end">
|
<div class="navbar-end">
|
||||||
<a class="navbar-item " href="../../index.html">
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
Home
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
</a>
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
<a class="navbar-item" href="../../about/index.html">
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
About Us
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
</a>
|
|
||||||
<a class="navbar-item" href="../../faq/index.html">
|
|
||||||
FAQ
|
|
||||||
</a>
|
|
||||||
<a class="navbar-item" href="../../terms/index.html">
|
|
||||||
Terms
|
|
||||||
</a>
|
|
||||||
<!-- <div class="navbar-item "> -->
|
|
||||||
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">
|
|
||||||
Gallery
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a class="navbar-item" href="../../contact/index.html">
|
|
||||||
Contact
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="navbar-end">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Classic</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
<section class="section">
|
<section class="section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="title has-text-centered">Modern Bulma Gallery</h1>
|
<h1 class="title has-text-centered">Classic Balloon Décor</h1>
|
||||||
<div class="gallery">
|
<div class="gallery">
|
||||||
<a href="#lightbox1"><img src="../../assets/pics/classic/20240825_104716.webp" alt="Gallery Image"></a>
|
<div class="gallery-item">
|
||||||
<a href="#lightbox2"><img src="../../assets/pics/classic/hero.jpg" alt="Gallery Image"></a>
|
<a href="#lightbox1"><img src="../../assets/pics/gallery/classic/20230617_131551.webp" alt="20' Classic Arch"></a>
|
||||||
<a href="#lightbox3"><img src="https://source.unsplash.com/random/802x602" alt="Gallery Image"></a>
|
<p class="caption">20' Classic Arch</p>
|
||||||
<a href="#lightbox4"><img src="https://source.unsplash.com/random/803x603" alt="Gallery Image"></a>
|
</div>
|
||||||
<a href="#lightbox5"><img src="https://source.unsplash.com/random/804x604" alt="Gallery Image"></a>
|
<div class="gallery-item">
|
||||||
<a href="#lightbox6"><img src="https://source.unsplash.com/random/805x605" alt="Gallery Image"></a>
|
<a href="#lightbox2"><img src="../../assets/pics/gallery/classic/_Photos_20241207_083534.webp" alt="Classic Columns"></a>
|
||||||
|
<p class="caption">Classic Columns</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Lightbox Overlays -->
|
|
||||||
<div id="lightbox1" class="lightbox">
|
<div id="lightbox1" class="lightbox">
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
<a href="#" class="close">×</a>
|
||||||
<img src="https://source.unsplash.com/random/800x600" alt="Gallery Image">
|
<a href="#lightbox1"> <figure class="image is-square"> <img src="../../assets/pics/gallery/classic/20230617_131551.webp" alt="20' Classic Arch"></figure></a>
|
||||||
|
<div><p class="caption" style="color: black; text-align: center; margin-top: 10px;">20' Classic Arch</p></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="lightbox2" class="lightbox">
|
<div id="lightbox2" class="lightbox">
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
<a href="#" class="close">×</a>
|
||||||
<img src="https://source.unsplash.com/random/801x601" alt="Gallery Image">
|
<a href="#lightbox2"> <figure class="image is-square"> <img src="../../assets/pics/gallery/classic/_Photos_20241207_083534.webp" alt="Classic Columns"></figure></a>
|
||||||
|
<div><p class="caption" style="color: black; text-align: center; margin-top: 10px;">Classic Columns</p></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="lightbox3" class="lightbox">
|
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
|
||||||
<img src="https://source.unsplash.com/random/802x602" alt="Gallery Image">
|
|
||||||
</div>
|
|
||||||
<div id="lightbox4" class="lightbox">
|
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
|
||||||
<img src="https://source.unsplash.com/random/803x603" alt="Gallery Image">
|
|
||||||
</div>
|
|
||||||
<div id="lightbox5" class="lightbox">
|
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
|
||||||
<img src="https://source.unsplash.com/random/804x604" alt="Gallery Image">
|
|
||||||
</div>
|
|
||||||
<div id="lightbox6" class="lightbox">
|
|
||||||
<a href="#" class="close"><i class="fas fa-times"></i></a>
|
|
||||||
<img src="https://source.unsplash.com/random/805x605" alt="Gallery Image">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<footer class="footer has-background-primary-light">
|
<footer class="footer has-background-primary-light">
|
||||||
<div class="content has-text-centered">
|
<div class="content has-text-centered">
|
||||||
@ -118,10 +88,9 @@
|
|||||||
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<div id="footer"></div>
|
<div id="footer"></div>
|
||||||
<script src="../../script.js"></script>
|
<script src="../../script.js"></script>
|
||||||
<script src="../../lightbox-plus-jquery.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
150
gallery/classic/updateGallery.sh
Executable file
150
gallery/classic/updateGallery.sh
Executable file
@ -0,0 +1,150 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Directory where images are stored
|
||||||
|
IMAGE_DIR="../../assets/pics/gallery/classic"
|
||||||
|
OUTPUT_FILE="index.html"
|
||||||
|
|
||||||
|
# Ensure the images directory exists
|
||||||
|
if [ ! -d "$IMAGE_DIR" ]; then
|
||||||
|
echo "Error: Directory '$IMAGE_DIR' not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start writing the HTML file
|
||||||
|
cat > "$OUTPUT_FILE" <<EOL
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20%; right: 10%; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Classic</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Classic Balloon Décor</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add images dynamically with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
# Read caption if available, otherwise use default
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"><img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add closing tags for the gallery
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add lightbox overlays with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"> <figure class=\"image is-square\"> <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></figure></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <div><p class=\"caption\" style=\"color: black; text-align: center; margin-top: 10px;\">$caption</p></div>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Finish the HTML file
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
||||||
|
|
||||||
@ -82,7 +82,8 @@
|
|||||||
<div class="image-container">
|
<div class="image-container">
|
||||||
<img class="image is-16by9" src="../assets/pics/organic/organic-cover.webp" alt="">
|
<img class="image is-16by9" src="../assets/pics/organic/organic-cover.webp" alt="">
|
||||||
<div class="overlay">
|
<div class="overlay">
|
||||||
<p class="has-text-white has-text-weight-bold is-size-2-desktop">Organic Balloon Décor</p>
|
<a href="organic/index.html"><p class="has-text-white has-text-weight-bold is-size-2-desktop">Organic Balloon Décor</p>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,7 +93,8 @@
|
|||||||
<div class="image-container">
|
<div class="image-container">
|
||||||
<img class="image is-16by9" src="../assets/pics/centerpiece/centerpiece-cover.webp" alt="">
|
<img class="image is-16by9" src="../assets/pics/centerpiece/centerpiece-cover.webp" alt="">
|
||||||
<div class="overlay">
|
<div class="overlay">
|
||||||
<p class="has-text-white has-text-weight-bold is-size-2-desktop">Centerpieces</p>
|
<a href="centerpiece/index.html"><p class="has-text-white has-text-weight-bold is-size-2-desktop">Centerpieces</p>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -100,7 +102,8 @@
|
|||||||
<div class="image-container">
|
<div class="image-container">
|
||||||
<img class="image is-16by9" src="../assets/pics/sculptures/sculpture-cover.webp" alt="">
|
<img class="image is-16by9" src="../assets/pics/sculptures/sculpture-cover.webp" alt="">
|
||||||
<div class="overlay">
|
<div class="overlay">
|
||||||
<p class="has-text-white has-text-weight-bold is-size-2-desktop">Sculptures & Themes</p>
|
<a href="sculpture/index.html"><p class="has-text-white has-text-weight-bold is-size-2-desktop">Sculptures & Themes</p>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -0,0 +1,96 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Organic</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Organic Balloon Décor</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
<div class="gallery-item">
|
||||||
|
<a href="#lightbox1"> <figure class="image is-square"> <img src="../../assets/pics/gallery/organic/20241121_200047~2.jpg" alt=""></figure></a>
|
||||||
|
<p class="caption"></p>
|
||||||
|
</div>
|
||||||
|
<div class="gallery-item">
|
||||||
|
<a href="#lightbox2"> <figure class="image is-square"> <img src="../../assets/pics/gallery/organic/20250202_133930~2.jpg" alt=""></figure></a>
|
||||||
|
<p class="caption"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<div id="lightbox1" class="lightbox">
|
||||||
|
<a href="#" class="close">×</a>
|
||||||
|
<img class=image is-square src="../../assets/pics/gallery/organic/20241121_200047~2.jpg" alt="">
|
||||||
|
<p class="caption" style="color:black; text-align: center; margin-top: 10px;"></p>
|
||||||
|
</div>
|
||||||
|
<div id="lightbox2" class="lightbox">
|
||||||
|
<a href="#" class="close">×</a>
|
||||||
|
<img class=image is-square src="../../assets/pics/gallery/organic/20250202_133930~2.jpg" alt="">
|
||||||
|
<p class="caption" style="color:black; text-align: center; margin-top: 10px;"></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
150
gallery/organic/updateGallery.sh
Executable file
150
gallery/organic/updateGallery.sh
Executable file
@ -0,0 +1,150 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Directory where images are stored
|
||||||
|
IMAGE_DIR="../../assets/pics/gallery/organic"
|
||||||
|
OUTPUT_FILE="index.html"
|
||||||
|
|
||||||
|
# Ensure the images directory exists
|
||||||
|
if [ ! -d "$IMAGE_DIR" ]; then
|
||||||
|
echo "Error: Directory '$IMAGE_DIR' not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start writing the HTML file
|
||||||
|
cat > "$OUTPUT_FILE" <<EOL
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Organic</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Organic Balloon Décor</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add images dynamically with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
# Read caption if available, otherwise use default
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"> <figure class=\"image is-square\"> <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></figure></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add closing tags for the gallery
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add lightbox overlays with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <img class="image is-square" src=\"$IMAGE_DIR/$filename\" alt=\"$caption\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\" style=\"color:black; text-align: center; margin-top: 10px;\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Finish the HTML file
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
||||||
|
|
||||||
@ -0,0 +1,78 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Sculpture</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Sculptures and Themes</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
150
gallery/sculpture/updateGallery.sh
Executable file
150
gallery/sculpture/updateGallery.sh
Executable file
@ -0,0 +1,150 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Directory where images are stored
|
||||||
|
IMAGE_DIR="../../assets/pics/gallery/sculpture"
|
||||||
|
OUTPUT_FILE="index.html"
|
||||||
|
|
||||||
|
# Ensure the images directory exists
|
||||||
|
if [ ! -d "$IMAGE_DIR" ]; then
|
||||||
|
echo "Error: Directory '$IMAGE_DIR' not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start writing the HTML file
|
||||||
|
cat > "$OUTPUT_FILE" <<EOL
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="../../assets/favicon/site.webmanifest">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Beach Party Balloons - Gallery</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../../style.css">
|
||||||
|
<style>
|
||||||
|
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
||||||
|
.gallery-item { text-align: center; }
|
||||||
|
.gallery img { object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
||||||
|
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
||||||
|
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
||||||
|
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
||||||
|
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
||||||
|
.lightbox:target { display: flex; }
|
||||||
|
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand is-size-1">
|
||||||
|
<a class="navbar-item" href="../../index.html">
|
||||||
|
<img style="background-color: white;" src="../../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
||||||
|
</a>
|
||||||
|
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item" href="../../index.html">Home</a>
|
||||||
|
<a class="navbar-item" href="../../about/index.html">About Us</a>
|
||||||
|
<a class="navbar-item" href="../../faq/index.html">FAQ</a>
|
||||||
|
<a class="navbar-item" href="../../terms/index.html">Terms</a>
|
||||||
|
<a class="navbar-item is-tab is-active" href="../../gallery/index.html">Gallery</a>
|
||||||
|
<a class="navbar-item" href="../../contact/index.html">Contact</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav class="breadcrumb is-centered" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="#" aria-current="page">Sculpture</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<section class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title has-text-centered">Sculptures and Themes</h1>
|
||||||
|
<div class="gallery">
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add images dynamically with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
# Read caption if available, otherwise use default
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"> <figure class=\"image is-square\"> <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></figure></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add closing tags for the gallery
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Add lightbox overlays with captions
|
||||||
|
count=1
|
||||||
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
|
if [[ -f "$img" ]]; then
|
||||||
|
filename=$(basename "$img")
|
||||||
|
caption_file="${img%.*}.txt"
|
||||||
|
|
||||||
|
if [[ -f "$caption_file" ]]; then
|
||||||
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <img class="image is-square" src=\"$IMAGE_DIR/$filename\" alt=\"$caption\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <div><p class=\"caption\" style=\"color: black; text-align: center; margin-top: 10px;\">$caption</p></div>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Finish the HTML file
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
|
||||||
|
<footer class="footer has-background-primary-light">
|
||||||
|
<div class="content has-text-centered">
|
||||||
|
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
||||||
|
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div id="footer"></div>
|
||||||
|
<script src="../../script.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
||||||
|
|
||||||
@ -1,144 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Directory where images are stored
|
cd organic
|
||||||
IMAGE_DIR="../assets/pics/organic"
|
./updateGallery.sh
|
||||||
OUTPUT_FILE="classic.html"
|
|
||||||
|
|
||||||
# Ensure the images directory exists
|
cd ../classic
|
||||||
if [ ! -d "$IMAGE_DIR" ]; then
|
./updateGallery.sh
|
||||||
echo "Error: Directory '$IMAGE_DIR' not found!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start writing the HTML file
|
cd ../centerpiece
|
||||||
cat > "$OUTPUT_FILE" <<EOL
|
./updateGallery.sh
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png">
|
|
||||||
<link rel="manifest" href="../assets/favicon/site.webmanifest">
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Beach Party Balloons - Gallery</title>
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.2/css/bulma.min.css">
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Autour+One&family=Mogra&family=Rubik+Glitch&display=swap" rel="stylesheet">
|
|
||||||
<link rel="stylesheet" href="../style.css">
|
|
||||||
<style>
|
|
||||||
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: auto; }
|
|
||||||
.gallery-item { text-align: center; }
|
|
||||||
.gallery img { width: 100%; height: 200px; object-fit: cover; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
|
||||||
.gallery img:hover { transform: scale(1.05); box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); }
|
|
||||||
.caption { font-size: 0.9rem; margin-top: 5px; color: #4a4a4a; font-family: 'Autour One', cursive; }
|
|
||||||
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: none; justify-content: center; align-items: center; z-index: 1000; }
|
|
||||||
.lightbox img { max-width: 90%; max-height: 80%; border-radius: 10px; }
|
|
||||||
.lightbox:target { display: flex; }
|
|
||||||
.close { position: absolute; top: 20px; right: 30px; font-size: 30px; color: white; text-decoration: none; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<nav class="navbar is-info is-spaced has-shadow" role="navigation" aria-label="main navigation">
|
cd ../sculpture
|
||||||
<div class="navbar-brand is-size-1">
|
./updateGallery.sh
|
||||||
<a class="navbar-item" href="../index.html">
|
|
||||||
<img style="background-color: white;" src="../assets/logo/BeachPartyBalloons-logo.png" alt="Beach Party Balloons logo">
|
|
||||||
</a>
|
|
||||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
<span aria-hidden="true"></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbarBasicExample" class="navbar-menu has-text-right">
|
|
||||||
<div class="navbar-end">
|
|
||||||
<a class="navbar-item" href="../index.html">Home</a>
|
|
||||||
<a class="navbar-item" href="../about/index.html">About Us</a>
|
|
||||||
<a class="navbar-item" href="../faq/index.html">FAQ</a>
|
|
||||||
<a class="navbar-item" href="../terms/index.html">Terms</a>
|
|
||||||
<a class="navbar-item is-tab is-active" href="../gallery/index.html">Gallery</a>
|
|
||||||
<a class="navbar-item" href="../contact/index.html">Contact</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<section class="section">
|
|
||||||
<div class="container">
|
|
||||||
<h1 class="title has-text-centered is-dark">Organic</h1>
|
|
||||||
<div class="gallery">
|
|
||||||
EOL
|
|
||||||
|
|
||||||
# Add images dynamically with captions
|
|
||||||
count=1
|
|
||||||
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
|
||||||
if [[ -f "$img" ]]; then
|
|
||||||
filename=$(basename "$img")
|
|
||||||
caption_file="${img%.*}.txt"
|
|
||||||
|
|
||||||
# Read caption if available, otherwise use default
|
|
||||||
if [[ -f "$caption_file" ]]; then
|
|
||||||
caption=$(cat "$caption_file")
|
|
||||||
else
|
|
||||||
caption=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
|
||||||
echo " <a href=\"#lightbox$count\"><img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></a>" >> "$OUTPUT_FILE"
|
|
||||||
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
|
||||||
echo " </div>" >> "$OUTPUT_FILE"
|
|
||||||
|
|
||||||
count=$((count+1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Add closing tags for the gallery
|
|
||||||
cat >> "$OUTPUT_FILE" <<EOL
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
EOL
|
|
||||||
|
|
||||||
# Add lightbox overlays with captions
|
|
||||||
count=1
|
|
||||||
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
|
||||||
if [[ -f "$img" ]]; then
|
|
||||||
filename=$(basename "$img")
|
|
||||||
caption_file="${img%.*}.txt"
|
|
||||||
|
|
||||||
if [[ -f "$caption_file" ]]; then
|
|
||||||
caption=$(cat "$caption_file")
|
|
||||||
else
|
|
||||||
caption=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
|
||||||
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
|
||||||
echo " <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\">" >> "$OUTPUT_FILE"
|
|
||||||
echo " <p class=\"caption\" style=\"color: white; text-align: center; margin-top: 10px;\">$caption</p>" >> "$OUTPUT_FILE"
|
|
||||||
echo " </div>" >> "$OUTPUT_FILE"
|
|
||||||
|
|
||||||
count=$((count+1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Finish the HTML file
|
|
||||||
cat >> "$OUTPUT_FILE" <<EOL
|
|
||||||
|
|
||||||
<footer class="footer has-background-primary-light">
|
|
||||||
<div class="content has-text-centered">
|
|
||||||
<h7>Copyright © <span id="year"></span> Beach Party Balloons</h7>
|
|
||||||
<h7>All images & content are property of Beach Party Balloons. Use of images without written permission is prohibited.</h7>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<div id="footer"></div>
|
|
||||||
<script src="../script.js"></script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
EOL
|
|
||||||
|
|
||||||
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
|
||||||
10
script.js
10
script.js
@ -82,8 +82,8 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
lightboxCaption.textContent = caption;
|
lightboxCaption.textContent = caption;
|
||||||
lightbox.style.display = "flex";
|
lightbox.style.display = "flex";
|
||||||
|
|
||||||
document.getElementById("prev").onclick = () => navigateLightbox(-1);
|
// document.getElementById("prev").onclick = () => navigateLightbox(-1);
|
||||||
document.getElementById("next").onclick = () => navigateLightbox(1);
|
// document.getElementById("next").onclick = () => navigateLightbox(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function navigateLightbox(direction) {
|
function navigateLightbox(direction) {
|
||||||
@ -124,6 +124,12 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.querySelector(".lightbox .close").addEventListener("click", function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
document.querySelector(".lightbox").style.display = "none";
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Swipe gestures for mobile
|
// Swipe gestures for mobile
|
||||||
let touchStartX = 0;
|
let touchStartX = 0;
|
||||||
let touchEndX = 0;
|
let touchEndX = 0;
|
||||||
|
|||||||
@ -87,3 +87,7 @@ header {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
.lightbox .close {
|
||||||
|
pointer-events: auto;
|
||||||
|
z-index: 1001;
|
||||||
|
}
|
||||||
@ -1,3 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Directory where images are stored
|
||||||
|
IMAGE_DIR="../../assets/pics/organic"
|
||||||
|
OUTPUT_FILE="classic.html"
|
||||||
|
|
||||||
|
# Ensure the images directory exists
|
||||||
|
if [ ! -d "$IMAGE_DIR" ]; then
|
||||||
|
echo "Error: Directory '$IMAGE_DIR' not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start writing the HTML file
|
||||||
|
cat > "$OUTPUT_FILE" <<EOL
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
@ -50,41 +64,73 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<nav class="breadcrumb" aria-label="breadcrumbs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="../index.html">Gallery</a></li>
|
||||||
|
<li class="is-active"><a href="index.html" aria-current="page">Classic</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
<section class="section">
|
<section class="section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="title has-text-centered is-dark">Organic</h1>
|
<h1 class="title has-text-centered">Organic</h1>
|
||||||
<div class="gallery">
|
<div class="gallery">
|
||||||
<div class="gallery-item">
|
EOL
|
||||||
<a href="#lightbox1"><img src="../assets/pics/organic/img1.webp" alt=""></a>
|
|
||||||
<p class="caption"></p>
|
# Add images dynamically with captions
|
||||||
</div>
|
count=1
|
||||||
<div class="gallery-item">
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
<a href="#lightbox2"><img src="../assets/pics/organic/img2.webp" alt=""></a>
|
if [[ -f "$img" ]]; then
|
||||||
<p class="caption"></p>
|
filename=$(basename "$img")
|
||||||
</div>
|
caption_file="${img%.*}.txt"
|
||||||
<div class="gallery-item">
|
|
||||||
<a href="#lightbox3"><img src="../assets/pics/organic/organic-cover.webp" alt=""></a>
|
# Read caption if available, otherwise use default
|
||||||
<p class="caption"></p>
|
if [[ -f "$caption_file" ]]; then
|
||||||
</div>
|
caption=$(cat "$caption_file")
|
||||||
|
else
|
||||||
|
caption=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " <div class=\"gallery-item\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#lightbox$count\"><img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\"></a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add closing tags for the gallery
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<div id="lightbox1" class="lightbox">
|
EOL
|
||||||
<a href="#" class="close">×</a>
|
|
||||||
<img src="../assets/pics/organic/img1.webp" alt="">
|
# Add lightbox overlays with captions
|
||||||
<p class="caption" style="color: white; text-align: center; margin-top: 10px;"></p>
|
count=1
|
||||||
</div>
|
for img in "$IMAGE_DIR"/*.{jpg,jpeg,png,gif,webp}; do
|
||||||
<div id="lightbox2" class="lightbox">
|
if [[ -f "$img" ]]; then
|
||||||
<a href="#" class="close">×</a>
|
filename=$(basename "$img")
|
||||||
<img src="../assets/pics/organic/img2.webp" alt="">
|
caption_file="${img%.*}.txt"
|
||||||
<p class="caption" style="color: white; text-align: center; margin-top: 10px;"></p>
|
|
||||||
</div>
|
if [[ -f "$caption_file" ]]; then
|
||||||
<div id="lightbox3" class="lightbox">
|
caption=$(cat "$caption_file")
|
||||||
<a href="#" class="close">×</a>
|
else
|
||||||
<img src="../assets/pics/organic/organic-cover.webp" alt="">
|
caption=""
|
||||||
<p class="caption" style="color: white; text-align: center; margin-top: 10px;"></p>
|
fi
|
||||||
</div>
|
|
||||||
|
echo " <div id=\"lightbox$count\" class=\"lightbox\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <a href=\"#\" class=\"close\">×</a>" >> "$OUTPUT_FILE"
|
||||||
|
echo " <img src=\"$IMAGE_DIR/$filename\" alt=\"$caption\">" >> "$OUTPUT_FILE"
|
||||||
|
echo " <p class=\"caption\" style=\"color: white; text-align: center; margin-top: 10px;\">$caption</p>" >> "$OUTPUT_FILE"
|
||||||
|
echo " </div>" >> "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
count=$((count+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Finish the HTML file
|
||||||
|
cat >> "$OUTPUT_FILE" <<EOL
|
||||||
|
|
||||||
<footer class="footer has-background-primary-light">
|
<footer class="footer has-background-primary-light">
|
||||||
<div class="content has-text-centered">
|
<div class="content has-text-centered">
|
||||||
@ -98,3 +144,6 @@
|
|||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
EOL
|
||||||
|
|
||||||
|
echo "Gallery generated with captions! Open $OUTPUT_FILE in your browser."
|
||||||
Loading…
x
Reference in New Issue
Block a user