[ImgBot] Optimize images #16
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Sketchup | |
on: | |
push: | |
# Adjust these paths according to where you expect to change files | |
paths: | |
- 'majortom/sketchup.html' | |
workflow_dispatch: | |
jobs: | |
update-sketchup-html: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the main repository | |
uses: actions/checkout@v2 | |
- name: Checkout Google-Sketchup repository | |
uses: actions/checkout@v2 | |
with: | |
repository: brunurb/Google-Sketchup | |
path: Google-Sketchup # Check out into the specified folder | |
- name: Generate sketchup.html | |
run: | | |
echo "Generating sketchup.html..." | |
echo '<!DOCTYPE html><html lang="en">' > majortom/sketchup.html | |
echo '<head>' >> majortom/sketchup.html | |
echo ' <meta charset="UTF-8">' >> majortom/sketchup.html | |
echo ' <meta name="viewport" content="width=device-width, initial-scale=1.0">' >> majortom/sketchup.html | |
echo ' <title>Sketchup Gallery</title>' >> majortom/sketchup.html | |
echo ' <link rel="stylesheet" href="https://brunurb.github.io/majortom/main.css">' >> majortom/sketchup.html | |
echo ' <link rel="stylesheet" href="https://brunurb.github.io/majortom/sketchup/jquery.mosaic.css">' >> majortom/sketchup.html | |
echo ' <link rel="icon" href="https://brunurb.github.io/mooo/assets/img/favicon.ico">' >> majortom/sketchup.html | |
echo ' <style>' >> majortom/sketchup.html | |
echo ' body { background-color: #142936; color: #92cfbf; margin: 0; font-family: Arial, Helvetica, sans-serif; }' >> majortom/sketchup.html | |
echo ' #myMosaic { margin: 20px 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }' >> majortom/sketchup.html | |
echo ' #myMosaic img { border: none; max-width: calc(100% / 8); height: auto; cursor: pointer; }' >> majortom/sketchup.html | |
echo ' h1 { text-align: center; margin: 40px 0 -10px; font-size: 18px; text-transform: uppercase; }' >> majortom/sketchup.html | |
echo ' #overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); display: none; z-index: 1000; justify-content: center; align-items: center; }' >> majortom/sketchup.html | |
echo ' #overlay.show { display: flex; }' >> majortom/sketchup.html | |
echo ' .overlay-content { position: relative; max-width: 90%; max-height: 90%; }' >> majortom/sketchup.html | |
echo ' #overlay img { max-width: 100%; max-height: 100%; display: block; }' >> majortom/sketchup.html | |
echo ' #close { position: absolute; top: 20px; right: 30px; font-size: 40px; color: white; cursor: pointer; }' >> majortom/sketchup.html | |
echo ' button { position: fixed; top: 50%; transform: translateY(-50%); background-color: rgba(0, 0, 0, 0.5); color: white; border: none; font-size: 30px; cursor: pointer; z-index: 1001; }' >> majortom/sketchup.html | |
echo ' #prevBtn { left: 20px; }' >> majortom/sketchup.html | |
echo ' #nextBtn { right: 20px; }' >> majortom/sketchup.html | |
echo ' </style>' >> majortom/sketchup.html | |
echo '</head>' >> majortom/sketchup.html | |
# Adding the header with new menu | |
echo '<body>' >> majortom/sketchup.html | |
echo ' <header>' >> majortom/sketchup.html | |
echo ' <ul class="navbar-top">' >> majortom/sketchup.html | |
echo ' <li id="nav-company">' >> majortom/sketchup.html | |
echo ' <a href="https://brunurb.github.io">brunurb</a>' >> majortom/sketchup.html | |
echo ' </li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/">Home</a></li>' >> majortom/sketchup.html | |
echo ' <li class="dropdown">' >> majortom/sketchup.html | |
echo ' <a href="#">About ▼</a>' >> majortom/sketchup.html | |
echo ' <ul class="dropdown-menu">' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/mooo/index.html">About</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/web">links</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="mailto:eargdu3d5@mozmail.com">Contact</a></li>' >> majortom/sketchup.html | |
echo ' </ul>' >> majortom/sketchup.html | |
echo ' </li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/">Portfolio</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://old.reddit.com/r/brunurb/" target="_blank">Blog</a></li>' >> majortom/sketchup.html | |
echo ' <li class="dropdown">' >> majortom/sketchup.html | |
echo ' <a href="#">Works ▼</a>' >> majortom/sketchup.html | |
echo ' <ul class="dropdown-menu">' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/mooo">Presentations</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/prettymaps">prettymaps</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/sketchup">sketchup</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/vectors">vectors</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/web">Website 2</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/shortcuts">Shortcuts</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/startpage">Startpage</a></li>' >> majortom/sketchup.html | |
echo ' </ul>' >> majortom/sketchup.html | |
echo ' </li>' >> majortom/sketchup.html | |
echo ' <li class="dropdown">' >> majortom/sketchup.html | |
echo ' <a href="#">8BIT ▼</a>' >> majortom/sketchup.html | |
echo ' <ul class="dropdown-menu">' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/astronaut">astronauts</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/spaceships">spacecrafts</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/controls">controls</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/planets">planets</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/917">917</a></li>' >> majortom/sketchup.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/">majortom</a></li>' >> majortom/sketchup.html | |
echo ' </ul>' >> majortom/sketchup.html | |
echo ' </li>' >> majortom/sketchup.html | |
echo ' </ul>' >> majortom/sketchup.html | |
echo ' </header>' >> majortom/sketchup.html | |
# Main content | |
echo ' <main>' >> majortom/sketchup.html | |
echo ' <h1>Sketchup Gallery</h1>' >> majortom/sketchup.html | |
echo ' <div id="myMosaic">' >> majortom/sketchup.html | |
# Find images in the Google-Sketchup/SKETCHUP RASTER directory | |
echo "Searching for images in 'Google-Sketchup/SKETCHUP RASTER':" | |
find "Google-Sketchup/SKETCHUP RASTER" -type f \( -iname "*.jpeg" -o -iname "*.jpg" -o -iname "*.gif" -o -iname "*.svg" -o -iname "*.png" -o -iname "*.webp" \) | while IFS= read -r img; do | |
img_name=$(basename "$img") # Extract the filename | |
img_url="https://raw.githubusercontent.com/brunurb/Google-Sketchup/refs/heads/master/SKETCHUP%20RASTER/$img_name" # Construct the URL | |
echo "<img src='$img_url' alt='Gallery Image' data-full='$img_url' class='thumbnail' onclick='showImage(this.dataset.full)' />" >> majortom/sketchup.html | |
echo "Added image: $img_url" # Log added image URLs | |
done | |
echo ' </div>' >> majortom/sketchup.html | |
# Overlay section | |
echo ' <div id="overlay" onclick="closeOverlay(event)">' >> majortom/sketchup.html | |
echo ' <div class="overlay-content">' >> majortom/sketchup.html | |
echo ' <span id="close">×</span>' >> majortom/sketchup.html | |
echo ' <img id="overlay-image" src="" alt="Full Size Image" />' >> majortom/sketchup.html | |
echo ' <button id="prevBtn" onclick="showPrevious(event)">❮</button>' >> majortom/sketchup.html | |
echo ' <button id="nextBtn" onclick="showNext(event)">❯</button>' >> majortom/sketchup.html | |
echo ' </div>' >> majortom/sketchup.html | |
echo ' </div>' >> majortom/sketchup.html | |
echo ' </main>' >> majortom/sketchup.html | |
# Footer | |
echo ' <footer>' >> majortom/sketchup.html | |
echo ' <p>© 2024 brunurb</p>' >> majortom/sketchup.html | |
echo ' </footer>' >> majortom/sketchup.html | |
# Include jQuery and custom scripts | |
echo ' <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>' >> majortom/sketchup.html | |
echo ' <script type="text/javascript">' >> majortom/sketchup.html | |
echo ' document.addEventListener("DOMContentLoaded", function() {' >> majortom/sketchup.html | |
echo ' let currentIndex = 0;' >> majortom/sketchup.html | |
echo ' const imagesArray = [...document.querySelectorAll("#myMosaic img")];' >> majortom/sketchup.html | |
echo ' function showImage(src) {' >> majortom/sketchup.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/sketchup.html | |
echo ' const overlayImage = document.getElementById("overlay-image");' >> majortom/sketchup.html | |
echo ' overlayImage.src = src;' >> majortom/sketchup.html | |
echo ' currentIndex = imagesArray.findIndex(img => img.dataset.full === src);' >> majortom/sketchup.html | |
echo ' overlay.classList.add("show");' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' function showPrevious(event) {' >> majortom/sketchup.html | |
echo ' event.stopPropagation();' >> majortom/sketchup.html | |
echo ' currentIndex = (currentIndex - 1 + imagesArray.length) % imagesArray.length;' >> majortom/sketchup.html | |
echo ' showImage(imagesArray[currentIndex].dataset.full);' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' function showNext(event) {' >> majortom/sketchup.html | |
echo ' event.stopPropagation();' >> majortom/sketchup.html | |
echo ' currentIndex = (currentIndex + 1) % imagesArray.length;' >> majortom/sketchup.html | |
echo ' showImage(imagesArray[currentIndex].dataset.full);' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' function closeOverlay(event) {' >> majortom/sketchup.html | |
echo ' if (event.target.id === "overlay" || event.target.id === "close") {' >> majortom/sketchup.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/sketchup.html | |
echo ' overlay.classList.remove("show");' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' const images = document.querySelectorAll("#myMosaic img");' >> majortom/sketchup.html | |
echo ' images.forEach(image => {' >> majortom/sketchup.html | |
echo ' image.addEventListener("click", function() {' >> majortom/sketchup.html | |
echo ' showImage(this.dataset.full);' >> majortom/sketchup.html | |
echo ' });' >> majortom/sketchup.html | |
echo ' });' >> majortom/sketchup.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/sketchup.html | |
echo ' overlay.addEventListener("click", closeOverlay);' >> majortom/sketchup.html | |
echo ' const closeButton = document.getElementById("close");' >> majortom/sketchup.html | |
echo ' closeButton.addEventListener("click", closeOverlay);' >> majortom/sketchup.html | |
echo ' document.getElementById("prevBtn").addEventListener("click", showPrevious);' >> majortom/sketchup.html | |
echo ' document.getElementById("nextBtn").addEventListener("click", showNext);' >> majortom/sketchup.html | |
echo ' window.addEventListener("keydown", function(event) {' >> majortom/sketchup.html | |
echo ' if (event.key === "ArrowLeft") {' >> majortom/sketchup.html | |
echo ' showPrevious(event);' >> majortom/sketchup.html | |
echo ' } else if (event.key === "ArrowRight") {' >> majortom/sketchup.html | |
echo ' showNext(event);' >> majortom/sketchup.html | |
echo ' }' >> majortom/sketchup.html | |
echo ' });' >> majortom/sketchup.html | |
echo ' });' >> majortom/sketchup.html | |
echo ' </script>' >> majortom/sketchup.html | |
echo '</body></html>' >> majortom/sketchup.html | |
- name: Commit changes | |
run: | | |
git config --local user.email "github-actions@github.com" | |
git config --local user.name "GitHub Action" | |
git add majortom/sketchup.html | |
git commit -m "Regenerate majortom/sketchup.html for mosaic gallery with updated images and favicon" || echo "No changes to commit" | |
git push origin master # Ensure this matches your main branch |