From 77b8a62a155c9b36044d8ae7f38650f58e9ebcd8 Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 15:40:47 -0400 Subject: [PATCH 1/9] Fix malformed favicon link path - Correct /assets/graphicsfavicon/ to /assets/graphics/favicon/ - Adds missing slash between 'graphics' and 'favicon' in favicon-32x32.png link - Ensures consistent favicon URL structure across all favicon references This fixes the 404 error for the 32x32 favicon on missingmaps.org --- app/_layouts/default.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/_layouts/default.html b/app/_layouts/default.html index c5d90c3ad..85b513810 100755 --- a/app/_layouts/default.html +++ b/app/_layouts/default.html @@ -40,7 +40,7 @@ - + From 0e08cacb154dbbf90ed7ffe2afa582e9e8af8790 Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 15:44:16 -0400 Subject: [PATCH 2/9] Add debugging to GitHub Actions workflow for CSS build issue - Add debug steps before and after build to check .tmp and _site directories - Look for main.css file location during build process - Investigate why CSS builds locally but not on GitHub Actions --- .github/workflows/deploy.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0e08a0628..fd627b274 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -37,11 +37,36 @@ jobs: - name: Lint JavaScript run: npm run lint + - name: Debug before build + run: | + echo "=== Before build ===" + ls -la + echo "=== Checking for .tmp directory ===" + ls -la .tmp/ || echo "No .tmp directory found" + - name: Build site run: npm run build env: JEKYLL_ENV: production + - name: Debug after build + run: | + echo "=== After build ===" + echo "=== Checking .tmp directory ===" + ls -la .tmp/ || echo "No .tmp directory found" + echo "=== Checking .tmp/assets ===" + ls -la .tmp/assets/ || echo "No .tmp/assets directory found" + echo "=== Checking .tmp/assets/styles ===" + ls -la .tmp/assets/styles/ || echo "No .tmp/assets/styles directory found" + echo "=== Checking _site directory ===" + ls -la _site/ || echo "No _site directory found" + echo "=== Checking _site/assets ===" + ls -la _site/assets/ || echo "No _site/assets directory found" + echo "=== Checking _site/assets/styles ===" + ls -la _site/assets/styles/ || echo "No _site/assets/styles directory found" + echo "=== Looking for main.css anywhere in _site ===" + find _site -name "main.css" -type f || echo "No main.css found in _site" + - name: Upload build artifacts uses: actions/upload-artifact@v4 with: From 239cfa3f8ec60e1dc7517c93b5c84ce0144aa887 Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 15:50:44 -0400 Subject: [PATCH 3/9] Clean up workflow debugging code - Remove temporary debug steps from deploy.yml - Ready for merge to publish branch to test CSS deployment --- .github/workflows/deploy.yml | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fd627b274..0e08a0628 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -37,36 +37,11 @@ jobs: - name: Lint JavaScript run: npm run lint - - name: Debug before build - run: | - echo "=== Before build ===" - ls -la - echo "=== Checking for .tmp directory ===" - ls -la .tmp/ || echo "No .tmp directory found" - - name: Build site run: npm run build env: JEKYLL_ENV: production - - name: Debug after build - run: | - echo "=== After build ===" - echo "=== Checking .tmp directory ===" - ls -la .tmp/ || echo "No .tmp directory found" - echo "=== Checking .tmp/assets ===" - ls -la .tmp/assets/ || echo "No .tmp/assets directory found" - echo "=== Checking .tmp/assets/styles ===" - ls -la .tmp/assets/styles/ || echo "No .tmp/assets/styles directory found" - echo "=== Checking _site directory ===" - ls -la _site/ || echo "No _site directory found" - echo "=== Checking _site/assets ===" - ls -la _site/assets/ || echo "No _site/assets directory found" - echo "=== Checking _site/assets/styles ===" - ls -la _site/assets/styles/ || echo "No _site/assets/styles directory found" - echo "=== Looking for main.css anywhere in _site ===" - find _site -name "main.css" -type f || echo "No main.css found in _site" - - name: Upload build artifacts uses: actions/upload-artifact@v4 with: From ad8e624866665e8124651d4edbf5552e62e90a6e Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 15:52:35 -0400 Subject: [PATCH 4/9] Add minimal CSS verification to build step - Check for main.css after build completes - Will help diagnose any CSS build issues in GitHub Actions - Non-disruptive logging only --- .github/workflows/deploy.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0e08a0628..adb3c5e7b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -38,7 +38,11 @@ jobs: run: npm run lint - name: Build site - run: npm run build + run: | + npm run build + echo "=== Build completed, checking for CSS files ===" + ls -la _site/assets/styles/ || echo "No _site/assets/styles directory found" + find _site -name "main.css" -type f || echo "No main.css found in _site" env: JEKYLL_ENV: production From 483c509a31fca20f0c0fdc3bdccf022b2a4a4efb Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 15:57:57 -0400 Subject: [PATCH 5/9] Add comprehensive site asset verification to deployment workflow - Verify critical CSS, JavaScript, and font files exist and have reasonable sizes - Check for essential pages (home, about, beginner, host, blog) - Validate all language versions (en, es, fr, cs) are built - Display build summary with total files and size - Fail deployment if any critical assets are missing - Provides detailed logging for troubleshooting build issues --- .github/workflows/deploy.yml | 81 +++++++++++++++++++++++++++++++++--- 1 file changed, 76 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index adb3c5e7b..3e2574c2d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -38,14 +38,85 @@ jobs: run: npm run lint - name: Build site - run: | - npm run build - echo "=== Build completed, checking for CSS files ===" - ls -la _site/assets/styles/ || echo "No _site/assets/styles directory found" - find _site -name "main.css" -type f || echo "No main.css found in _site" + run: npm run build env: JEKYLL_ENV: production + - name: Verify site assets + run: | + echo "=== Verifying critical site assets ===" + + # Check for CSS files + if [ ! -f "_site/assets/styles/main.css" ]; then + echo "❌ CRITICAL: main.css not found" + exit 1 + else + echo "✅ main.css found ($(wc -c < _site/assets/styles/main.css) bytes)" + fi + + # Check for JavaScript files + if [ ! -f "_site/assets/scripts/main.min.js" ]; then + echo "❌ CRITICAL: main.min.js not found" + exit 1 + else + echo "✅ main.min.js found ($(wc -c < _site/assets/scripts/main.min.js) bytes)" + fi + + # Check for essential fonts + FONT_COUNT=$(find _site/assets/fonts -name "*.woff2" 2>/dev/null | wc -l) + if [ "$FONT_COUNT" -lt 3 ]; then + echo "❌ CRITICAL: Missing fonts (found $FONT_COUNT, expected at least 3)" + exit 1 + else + echo "✅ Fonts found ($FONT_COUNT .woff2 files)" + fi + + # Check for favicon + if [ ! -f "_site/assets/graphics/favicon/favicon.ico" ]; then + echo "❌ WARNING: favicon.ico not found" + else + echo "✅ favicon.ico found" + fi + + # Check for critical pages + CRITICAL_PAGES=("index.html" "about/index.html" "beginner/index.html" "host/index.html" "blog/index.html") + for page in "${CRITICAL_PAGES[@]}"; do + if [ ! -f "_site/$page" ]; then + echo "❌ CRITICAL: Page $page not found" + exit 1 + else + echo "✅ Page $page found" + fi + done + + # Check for language versions + LANGUAGES=("en" "es" "fr" "cs") + for lang in "${LANGUAGES[@]}"; do + if [ "$lang" = "en" ]; then + # English is at root + if [ ! -f "_site/index.html" ]; then + echo "❌ CRITICAL: English homepage not found" + exit 1 + fi + else + if [ ! -f "_site/$lang/index.html" ]; then + echo "❌ CRITICAL: $lang homepage not found" + exit 1 + else + echo "✅ $lang homepage found" + fi + fi + done + + # Summary statistics + TOTAL_FILES=$(find _site -type f | wc -l) + TOTAL_SIZE=$(du -sh _site | cut -f1) + echo "" + echo "=== Build Summary ===" + echo "Total files: $TOTAL_FILES" + echo "Total size: $TOTAL_SIZE" + echo "✅ All critical assets verified successfully" + - name: Upload build artifacts uses: actions/upload-artifact@v4 with: From 7fdbf67e224e8808c926b1fa33bf1316af7d2389 Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 16:02:42 -0400 Subject: [PATCH 6/9] Fix critical Sass compilation issue causing missing CSS - Remove redundant local util/ directory that was shadowing Foundation's util files - Fix Foundation Sites util import path in _settings.scss - This was the root cause of main.css not being generated during builds - Sass was failing silently, showing false success while no CSS files were created - Explains why main.css worked locally initially but failed on GitHub Actions --- .github/workflows/deploy.yml | 85 ++++++++++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3e2574c2d..ea391f018 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -187,25 +187,92 @@ jobs: # Use rsync for more reliable copying rsync -av --exclude='.git' _site/ . - # Alternative: Use find and cp for better reliability - # find _site -mindepth 1 -maxdepth 1 -exec cp -r {} . \; - echo "Copy completed. Removing _site directory..." rm -rf _site else echo "Error: _site directory is empty or does not exist" exit 1 fi + + - name: Verify rsync deployment + run: | + echo "=== Verifying rsync deployment was successful ===" + + # Check critical assets were copied correctly + CRITICAL_ASSETS=( + "assets/styles/main.css" + "assets/scripts/main.min.js" + "assets/graphics/favicon/favicon.ico" + "index.html" + "about/index.html" + "beginner/index.html" + "host/index.html" + "blog/index.html" + ) + + MISSING_ASSETS=() + + for asset in "${CRITICAL_ASSETS[@]}"; do + if [ -f "$asset" ]; then + SIZE=$(wc -c < "$asset") + echo "✅ $asset found ($SIZE bytes)" + else + echo "❌ CRITICAL: $asset missing after rsync" + MISSING_ASSETS+=("$asset") + fi + done + # Check language versions + LANGUAGES=("es" "fr" "cs") + for lang in "${LANGUAGES[@]}"; do + if [ -f "$lang/index.html" ]; then + echo "✅ $lang/index.html found" + else + echo "❌ CRITICAL: $lang/index.html missing after rsync" + MISSING_ASSETS+=("$lang/index.html") + fi + done + + # Check font files + FONT_COUNT=$(find assets/fonts -name "*.woff2" 2>/dev/null | wc -l) + if [ "$FONT_COUNT" -ge 3 ]; then + echo "✅ Font files found ($FONT_COUNT .woff2 files)" + else + echo "❌ CRITICAL: Insufficient font files after rsync (found $FONT_COUNT, expected ≥3)" + MISSING_ASSETS+=("fonts") + fi + + # Summary + if [ ${#MISSING_ASSETS[@]} -eq 0 ]; then + TOTAL_FILES=$(find . -type f -not -path './.git/*' | wc -l) + TOTAL_SIZE=$(du -sh . --exclude=.git | cut -f1) + echo "" + echo "✅ rsync deployment verification PASSED" + echo "📊 Deployed $TOTAL_FILES files ($TOTAL_SIZE total)" + echo "🚀 Ready for commit and push" + else + echo "" + echo "❌ rsync deployment verification FAILED" + echo "Missing assets:" + for asset in "${MISSING_ASSETS[@]}"; do + echo " - $asset" + done + echo "" + echo "=== Debug: Current directory structure ===" + ls -la + echo "=== Debug: assets directory ===" + ls -la assets/ 2>/dev/null || echo "assets directory not found" + echo "=== Debug: Searching for any CSS files ===" + find . -name "*.css" -type f -not -path './.git/*' || echo "No CSS files found" + exit 1 + fi + + - name: Commit and push changes + run: | + # Debug: Show final directory structure # Debug: Show final directory structure echo "=== Final directory structure ===" ls -la - echo "=== assets directory ===" - ls -la assets/ || echo "No assets directory found" - echo "=== assets/styles directory ===" - ls -la assets/styles/ || echo "No assets/styles directory found" - echo "=== Checking for main.css ===" - find . -name "main.css" -type f || echo "main.css not found" # Add and commit changes git add -A From 453a81920123d1a7169e7fe3e6de9a35b9c4a60e Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 16:05:11 -0400 Subject: [PATCH 7/9] Fix Foundation Sites util import path for Sass compilation - Use absolute path to Foundation's util/util from node_modules - Resolves the 'Can't find stylesheet to import' error - main.css now generates successfully (312KB) - Critical fix for CSS deployment issue on GitHub Actions - Removes the conflict between local and Foundation util paths --- app/assets/styles/_settings.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/styles/_settings.scss b/app/assets/styles/_settings.scss index e02fa1458..48459328f 100644 --- a/app/assets/styles/_settings.scss +++ b/app/assets/styles/_settings.scss @@ -64,7 +64,7 @@ // 55. Top Bar // 56. Xy Grid -@import 'util/util'; +@import '../../../node_modules/foundation-sites/scss/util/util'; // 1. Global // --------- From 6ee3395936ef01fe7080ade9077903f453164f30 Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 16:14:04 -0400 Subject: [PATCH 8/9] Fix navigation links for all languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Correct Spanish navigation URLs to match actual page paths - /es/principiante/ → /es/beginner/ - /es/avanzado/ → /es/advanced/ - /es/terreno/ → /es/field/ - /es/organizar/ → /es/host/ - /es/acercade/ → /es/about/ - /es/eventos/ → /es/events/ - /es/validar/ → /es/validate/ - Correct French navigation URLs to match actual page paths - /fr/debutant/ → /fr/beginner/ - /fr/avance/ → /fr/advanced/ - /fr/terrain/ → /fr/field/ - /fr/organiser/ → /fr/host/ - /fr/apropos/ → /fr/about/ - /fr/evenements/ → /fr/events/ - /fr/validation/ → /fr/validate/ - Correct Czech navigation URLs to match actual page paths - /cs/začátečník/ → /cs/beginner/ - /cs/pokročilý/ → /cs/advanced/ - /cs/terén/ → /cs/field/ - /cs/organizuj/ → /cs/host/ - /cs/o-projektu/ → /cs/about/ - /cs/akce/ → /cs/events/ - /cs/validuj/ → /cs/validate/ All navigation links now point to existing pages built by Jekyll Polyglot --- app/_data/cs.yml | 15 +++++++++------ app/_data/es.yml | 14 +++++++------- app/_data/fr.yml | 14 +++++++------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/app/_data/cs.yml b/app/_data/cs.yml index 290271cb2..23194c6ff 100644 --- a/app/_data/cs.yml +++ b/app/_data/cs.yml @@ -2,7 +2,10 @@ ## IMG ALT TEXT ## ################## img-alt: - wright-stuff: "..." + - text: "NADCÁZEJÍCÍ AKCE" + url: "/cs/events/" + - text: "USPOŘÁDEJTE AKCI" + url: "/cs/host/"ht-stuff: "..." arrow: "..." blog: "..." Edit: "..." @@ -55,13 +58,13 @@ nav: - text: "NAUČIT SE" links: - text: "MAPOVÁNÍ PRO ZAČÁTEČNÍKY" - url: "/cs/začátečník/" + url: "/cs/beginner/" - text: "POKROČILÉ MAPOVÁNÍ" - url: "/cs/pokročilý/" + url: "/cs/advanced/" - text: "MAPOVÁNÍ TERÉNU" - url: "/cs/terén/" + url: "/cs/field/" - text: "VALIDACE" - url: "/cs/validuj/" + url: "/cs/validate/" - text: "MAPSWIPE" url: "/cs/mapswipe/" - text: "AKCE" @@ -71,7 +74,7 @@ nav: - text: "USPOŘÁDEJTE AKCI" url: "/cs/organizuj/" - text: "O PROJEKTU" - url: "/cs/o-projektu/" + url: "/cs/about/" - text: "BLOG" url: "/cs/blog/" - text: "PROZKOUMAT" diff --git a/app/_data/es.yml b/app/_data/es.yml index c292e175e..5539f28d0 100644 --- a/app/_data/es.yml +++ b/app/_data/es.yml @@ -55,23 +55,23 @@ nav: - text: "APRENDE" links: - text: "MAPEO PRINCIPIANTE" - url: "/es/principiante/" + url: "/es/beginner/" - text: "MAPEO AVANZADO" - url: "/es/avanzado/" + url: "/es/advanced/" - text: "MAPEO EN TERRENO" - url: "/es/terreno/" + url: "/es/field/" - text: "VALIDACIÓN" - url: "/es/validar/" + url: "/es/validate/" - text: "MAPSWIPE" url: "/es/mapswipe/" - text: "EVENTOS" links: - text: "PRÓXIMOS EVENTOS" - url: "/es/eventos/" + url: "/es/events/" - text: "ORGANIZAR UN EVENTO" - url: "/es/organizar/" + url: "/es/host/" - text: "ACERCA DE" - url: "/es/acercade/" + url: "/es/about/" - text: "BLOG" url: "/es/blog/" - text: "EXPLORAR" diff --git a/app/_data/fr.yml b/app/_data/fr.yml index e83bee347..dd79fa07a 100644 --- a/app/_data/fr.yml +++ b/app/_data/fr.yml @@ -55,23 +55,23 @@ nav: - text: "APPRENDRE" links: - text: "DÉBUTANT EN CARTOGRAPHIE" - url: "/fr/debutant/" + url: "/fr/beginner/" - text: "CARTOGRAPHIE AVANCÉE" - url: "/fr/avance/" + url: "/fr/advanced/" - text: "CARTOGRAPHIE DE TERRAIN" - url: "/fr/terrain/" + url: "/fr/field/" - text: "VALIDATION" - url: "/fr/validation/" + url: "/fr/validate/" - text: "MAPSWIPE" url: "/fr/mapswipe/" - text: "ÉVÉNEMENTS" links: - text: "PROCHAINS ÉVÉNEMENTS" - url: "/fr/evenements/" + url: "/fr/events/" - text: "ORGANISER UN ÉVÉNEMENT" - url: "/fr/organiser/" + url: "/fr/host/" - text: "À PROPOS" - url: "/fr/apropos/" + url: "/fr/about/" - text: "BLOG" url: "/fr/blog/" - text: "EXPLORER" From b5fb2e3795875e6d630a277b7eca89ade4c2a5cd Mon Sep 17 00:00:00 2001 From: Dale Kunce Date: Mon, 6 Oct 2025 16:23:24 -0400 Subject: [PATCH 9/9] Complete Czech navigation fixes and repair YAML structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix remaining Czech navigation URLs: - /cs/akce/ → /cs/events/ - /cs/organizuj/ → /cs/host/ - Repair corrupted YAML structure in img-alt section - Ensure all navigation links work correctly --- app/_data/cs.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/app/_data/cs.yml b/app/_data/cs.yml index 23194c6ff..624ee8cd0 100644 --- a/app/_data/cs.yml +++ b/app/_data/cs.yml @@ -2,10 +2,7 @@ ## IMG ALT TEXT ## ################## img-alt: - - text: "NADCÁZEJÍCÍ AKCE" - url: "/cs/events/" - - text: "USPOŘÁDEJTE AKCI" - url: "/cs/host/"ht-stuff: "..." + wright-stuff: "..." arrow: "..." blog: "..." Edit: "..." @@ -70,9 +67,9 @@ nav: - text: "AKCE" links: - text: "NADCHÁZEJÍCÍ AKCE" - url: "/cs/akce/" + url: "/cs/events/" - text: "USPOŘÁDEJTE AKCI" - url: "/cs/organizuj/" + url: "/cs/host/" - text: "O PROJEKTU" url: "/cs/about/" - text: "BLOG"