new pictures #23
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: astronaut | |
on: | |
push: | |
paths: | |
- 'majortom/astronaut/pictures/**' | |
- 'majortom/astronaut.html' | |
workflow_dispatch: | |
jobs: | |
update-astronaut-html: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Generate astronaut.html | |
run: | | |
echo "Generating astronaut.html..." | |
echo '<!DOCTYPE html><html lang="en">' > majortom/astronaut.html | |
echo '<head>' >> majortom/astronaut.html | |
echo ' <meta charset="UTF-8">' >> majortom/astronaut.html | |
echo ' <meta name="viewport" content="width=device-width, initial-scale=1.0">' >> majortom/astronaut.html | |
echo ' <title>astronaut</title>' >> majortom/astronaut.html | |
echo ' <link rel="stylesheet" href="https://brunurb.github.io/majortom/main.css">' >> majortom/astronaut.html | |
echo ' <link rel="stylesheet" href="https://brunurb.github.io/majortom/astronaut/jquery.mosaic.css">' >> majortom/astronaut.html | |
echo ' <link rel="icon" href="https://brunurb.github.io/mooo/assets/img/favicon.ico">' >> majortom/astronaut.html | |
echo ' <style>' >> majortom/astronaut.html | |
echo ' body { background-color: #142936; color: #92cfbf; margin: 0; font-family: Arial, Helvetica, sans-serif; }' >> majortom/astronaut.html | |
echo ' #myMosaic { margin: 20px 0 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }' >> majortom/astronaut.html | |
echo ' #myMosaic img { border: none; max-width: calc(100% / 8); height: auto; cursor: pointer; }' >> majortom/astronaut.html | |
echo ' h1 { text-align: center; color: #e8e6eb; margin: 40px 0 -10px; font-size: 18px; font-family: "Arial", sans-serif; text-transform: uppercase; }' >> majortom/astronaut.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/astronaut.html | |
echo ' #overlay.show { display: flex; }' >> majortom/astronaut.html | |
echo ' .overlay-content { display: flex; justify-content: center; align-items: center; max-width: 90%; max-height: 90%; position: relative; }' >> majortom/astronaut.html | |
echo ' #overlay img { max-width: 100%; max-height: 100%; display: block; }' >> majortom/astronaut.html | |
echo ' #close { position: absolute; top: 20px; right: 30px; font-size: 40px; color: white; cursor: pointer; }' >> majortom/astronaut.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/astronaut.html | |
echo ' #prevBtn { left: 20px; }' >> majortom/astronaut.html | |
echo ' #nextBtn { right: 20px; }' >> majortom/astronaut.html | |
echo ' </style>' >> majortom/astronaut.html | |
echo '</head>' >> majortom/astronaut.html | |
# Adding the header with new menu | |
echo '<body>' >> majortom/astronaut.html | |
echo ' <header>' >> majortom/astronaut.html | |
echo ' <ul class="navbar-top">' >> majortom/astronaut.html | |
echo ' <li id="nav-company">' >> majortom/astronaut.html | |
echo ' <a href="https://brunurb.github.io">brunurb</a>' >> majortom/astronaut.html | |
echo ' </li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/">Home</a></li>' >> majortom/astronaut.html | |
echo ' <li class="dropdown">' >> majortom/astronaut.html | |
echo ' <a href="#">About ▼</a>' >> majortom/astronaut.html | |
echo ' <ul class="dropdown-menu">' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/mooo/index.html">About</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/web">links</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="mailto:eargdu3d5@mozmail.com">Contact</a></li>' >> majortom/astronaut.html | |
echo ' </ul>' >> majortom/astronaut.html | |
echo ' </li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/">Portfolio</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://old.reddit.com/r/brunurb/" target="_blank">Blog</a></li>' >> majortom/astronaut.html | |
echo ' <li class="dropdown">' >> majortom/astronaut.html | |
echo ' <a href="#">Works ▼</a>' >> majortom/astronaut.html | |
echo ' <ul class="dropdown-menu">' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/mooo">Presentations</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/prettymaps">prettymaps</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/sketchup">sketchup</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/vectors">vectors</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/web">Website 2</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/shortcuts">Shortcuts</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/startpage">Startpage</a></li>' >> majortom/astronaut.html | |
echo ' </ul>' >> majortom/astronaut.html | |
echo ' </li>' >> majortom/astronaut.html | |
echo ' <li class="dropdown">' >> majortom/astronaut.html | |
echo ' <a href="#">8BIT ▼</a>' >> majortom/astronaut.html | |
echo ' <ul class="dropdown-menu">' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/astronaut">astronauts</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/spaceships">spacecrafts</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/controls">controls</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/planets">planets</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/917">917</a></li>' >> majortom/astronaut.html | |
echo ' <li><a href="https://brunurb.github.io/majortom/">majortom</a></li>' >> majortom/astronaut.html | |
echo ' </ul>' >> majortom/astronaut.html | |
echo ' </li>' >> majortom/astronaut.html | |
echo ' </ul>' >> majortom/astronaut.html | |
echo ' </header>' >> majortom/astronaut.html | |
# Add the title | |
echo '<h1>Major Tom</h1>' >> majortom/astronaut.html | |
# Mosaic images generation | |
echo ' <main>' >> majortom/astronaut.html | |
echo ' <div id="myMosaic">' >> majortom/astronaut.html | |
ls majortom/astronaut/pictures | grep -E '\.jpeg$|\.jpg$|\.gif$|\.svg$|\.png$|\.webp$' | while IFS= read -r img; do | |
echo "<img src='https://brunurb.github.io/majortom/astronaut/pictures/${img// /%20}' alt='Gallery Image' data-full='https://brunurb.github.io/majortom/astronaut/pictures/${img// /%20}' class='thumbnail' onclick='showImage(this.dataset.full)' />" >> majortom/astronaut.html | |
done | |
echo ' </div>' >> majortom/astronaut.html | |
# Overlay section with navigation arrows | |
echo ' <div id="overlay" onclick="closeOverlay(event)">' >> majortom/astronaut.html | |
echo ' <div class="overlay-content">' >> majortom/astronaut.html | |
echo ' <span id="close">×</span>' >> majortom/astronaut.html | |
echo ' <img id="overlay-image" src="" alt="Full Size Image" />' >> majortom/astronaut.html | |
echo ' <button id="prevBtn" onclick="showPrevious(event)">❮</button>' >> majortom/astronaut.html | |
echo ' <button id="nextBtn" onclick="showNext(event)">❯</button>' >> majortom/astronaut.html | |
echo ' </div>' >> majortom/astronaut.html | |
echo ' </div>' >> majortom/astronaut.html | |
echo ' </main>' >> majortom/astronaut.html | |
# Footer | |
echo ' <footer>' >> majortom/astronaut.html | |
echo ' <p>© 2024 brunurb</p>' >> majortom/astronaut.html | |
echo ' </footer>' >> majortom/astronaut.html | |
# Include jQuery and custom scripts | |
echo ' <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>' >> majortom/astronaut.html | |
echo ' <script type="text/javascript">' >> majortom/astronaut.html | |
echo ' document.addEventListener("DOMContentLoaded", function() {' >> majortom/astronaut.html | |
echo ' let currentIndex = 0;' >> majortom/astronaut.html | |
echo ' const imagesArray = [...document.querySelectorAll("#myMosaic img")];' >> majortom/astronaut.html | |
echo ' function showImage(src) {' >> majortom/astronaut.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/astronaut.html | |
echo ' const overlayImage = document.getElementById("overlay-image");' >> majortom/astronaut.html | |
echo ' overlayImage.src = src;' >> majortom/astronaut.html | |
echo ' currentIndex = imagesArray.findIndex(img => img.dataset.full === src);' >> majortom/astronaut.html | |
echo ' overlay.classList.add("show");' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' function showPrevious(event) {' >> majortom/astronaut.html | |
echo ' event.stopPropagation();' >> majortom/astronaut.html | |
echo ' currentIndex = (currentIndex - 1 + imagesArray.length) % imagesArray.length;' >> majortom/astronaut.html | |
echo ' showImage(imagesArray[currentIndex].dataset.full);' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' function showNext(event) {' >> majortom/astronaut.html | |
echo ' event.stopPropagation();' >> majortom/astronaut.html | |
echo ' currentIndex = (currentIndex + 1) % imagesArray.length;' >> majortom/astronaut.html | |
echo ' showImage(imagesArray[currentIndex].dataset.full);' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' function closeOverlay(event) {' >> majortom/astronaut.html | |
echo ' if (event.target.id === "overlay" || event.target.id === "close") {' >> majortom/astronaut.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/astronaut.html | |
echo ' overlay.classList.remove("show");' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' const images = document.querySelectorAll("#myMosaic img");' >> majortom/astronaut.html | |
echo ' images.forEach(image => {' >> majortom/astronaut.html | |
echo ' image.addEventListener("click", function() {' >> majortom/astronaut.html | |
echo ' showImage(this.dataset.full);' >> majortom/astronaut.html | |
echo ' });' >> majortom/astronaut.html | |
echo ' });' >> majortom/astronaut.html | |
echo ' const overlay = document.getElementById("overlay");' >> majortom/astronaut.html | |
echo ' overlay.addEventListener("click", closeOverlay);' >> majortom/astronaut.html | |
echo ' const closeButton = document.getElementById("close");' >> majortom/astronaut.html | |
echo ' closeButton.addEventListener("click", closeOverlay);' >> majortom/astronaut.html | |
echo ' document.getElementById("prevBtn").addEventListener("click", showPrevious);' >> majortom/astronaut.html | |
echo ' document.getElementById("nextBtn").addEventListener("click", showNext);' >> majortom/astronaut.html | |
echo ' window.addEventListener("keydown", function(event) {' >> majortom/astronaut.html | |
echo ' if (event.key === "ArrowLeft") {' >> majortom/astronaut.html | |
echo ' showPrevious(event);' >> majortom/astronaut.html | |
echo ' } else if (event.key === "ArrowRight") {' >> majortom/astronaut.html | |
echo ' showNext(event);' >> majortom/astronaut.html | |
echo ' }' >> majortom/astronaut.html | |
echo ' });' >> majortom/astronaut.html | |
echo ' });' >> majortom/astronaut.html | |
echo ' </script>' >> majortom/astronaut.html | |
echo '</body></html>' >> majortom/astronaut.html | |
- name: Commit changes | |
run: | | |
git config --local user.email "github-actions@github.com" | |
git config --local user.name "GitHub Action" | |
git add majortom/astronaut.html | |
git commit -m "Regenerate majortom/astronaut.html for mosaic gallery with overlay and fixed navigation arrows" || echo "No changes to commit" | |
git push origin master # Make sure this matches your main branch |