forked from colin/resume
2
0
Fork 0
lucky-ddg/docker/resume/update-all.sh

86 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# =====================================================================
# update-all.sh - Run all update scripts
# =====================================================================
# This script runs all update scripts in the correct order:
# 1. Generate sitemap.xml
# 2. Update navigation menu from sitemap
# 3. Update stories page from sitemap
# 4. Update CSP hashes
# 5. Apply accessibility fixes
# =====================================================================
set -e
echo "=== Running all update scripts ==="
# Get the directory of this script
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
# Generate sitemap.xml
echo "=== Generating sitemap.xml ==="
if [ -f "$SCRIPT_DIR/generate-sitemap.sh" ]; then
"$SCRIPT_DIR/generate-sitemap.sh"
else
echo "⚠️ generate-sitemap.sh not found, skipping"
fi
# Update navigation from sitemap
echo "=== Updating navigation from sitemap ==="
if [ -f "$SCRIPT_DIR/update-nav-from-sitemap.js" ]; then
node "$SCRIPT_DIR/update-nav-from-sitemap.js"
else
echo "⚠️ update-nav-from-sitemap.js not found, skipping"
fi
# Update stories page from sitemap
echo "=== Updating stories page from sitemap ==="
if [ -f "$SCRIPT_DIR/update-stories-page.js" ]; then
node "$SCRIPT_DIR/update-stories-page.js"
else
echo "⚠️ update-stories-page.js not found, skipping"
fi
# Update CSP hashes
echo "=== Updating CSP hashes ==="
if [ -f "$SCRIPT_DIR/update-csp-hashes.sh" ]; then
"$SCRIPT_DIR/update-csp-hashes.sh"
else
echo "⚠️ update-csp-hashes.sh not found, skipping"
fi
# Ensure accessibility fixes are applied
echo "=== Ensuring accessibility fixes are applied ==="
# Check if stories.css exists
if [ -f "$SCRIPT_DIR/stories/stories.css" ]; then
# Check if the file already has the accessibility fixes
if ! grep -q "color: #004494;" "$SCRIPT_DIR/stories/stories.css"; then
echo "Applying accessibility fixes to stories.css..."
# Use sed to add the color property to story-nav-link class
sed -i '' 's/\.story-nav-link {/\.story-nav-link {\n color: #004494; \/* Darker blue for 7:1+ contrast ratio *\//g' "$SCRIPT_DIR/stories/stories.css"
sed -i '' 's/\.story-nav-link:hover {/\.story-nav-link:hover {\n color: #003366; \/* Even darker on hover for better visibility *\//g' "$SCRIPT_DIR/stories/stories.css"
# Update placeholder-notice links
sed -i '' 's/\.placeholder-notice a {/\.placeholder-notice a {\n color: #004494; \/* Darker blue for 7:1+ contrast ratio *\//g' "$SCRIPT_DIR/stories/stories.css"
# Add hover state for placeholder-notice links if it doesn't exist
if ! grep -q "\.placeholder-notice a:hover" "$SCRIPT_DIR/stories/stories.css"; then
echo -e "\n.placeholder-notice a:hover {\n color: #003366; /* Even darker on hover */\n}" >> "$SCRIPT_DIR/stories/stories.css"
fi
echo "Accessibility fixes applied to stories.css"
else
echo "Accessibility fixes already present in stories.css"
fi
else
echo "⚠️ stories/stories.css not found, skipping accessibility fixes"
fi
# Generate PDFs (this is now done in Dockerfile, but kept here for manual runs)
echo "=== PDF generation ==="
echo "Note: PDFs are generated during Docker build. Skipping in update-all.sh"
echo "To generate PDFs manually, run: npm run generate-pdfs"
echo "=== All updates completed successfully ==="
echo "To apply changes, restart the server using: ./caddy.sh"