#!/bin/sh echo "Starting Quartz Wiki..." # Check if content directory has files if [ -z "$(ls -A /app/content 2>/dev/null)" ]; then echo "Warning: Content directory is empty!" # Create a default index page mkdir -p /app/content echo "# Wiki Home Willkommen im doing-it Wiki! Dieses Wiki wird mit Obsidian Quartz betrieben. " > /app/content/index.md fi # Copy content to Quartz content directory echo "Copying vault content to Quartz..." mkdir -p /app/quartz-repo/content cp -r /app/content/* /app/quartz-repo/content/ 2>/dev/null || true # Build Quartz echo "Building Quartz site..." cd /app/quartz-repo # Build the site with default Quartz setup npx quartz build 2>&1 || { echo "Default Quartz build failed, trying alternative method..." # Try building with explicit paths npx quartz build --contentDir ./content --outputDir /app/public 2>&1 || { echo "Default build also failed, creating fallback static site..." # Create fallback static site mkdir -p /app/public cd /app/content # Create index.html cat > /app/public/index.html << 'EOFHTML' doing-it Wiki

doing-it Wiki

Willkommen im doing-it Wiki! Hier finden Sie nützliche Informationen rund um IT-Weiterbildung und Schulungen.

Inhalte

" >> /app/public/index.html echo "
" >> /app/public/index.html echo "" >> /app/public/index.html echo "" >> /app/public/index.html # Copy markdown files to public cp -r /app/content/* /app/public/ 2>/dev/null || true } } # If Quartz build succeeded, check if public directory exists if [ -d "/app/quartz-repo/public" ] && [ -n "$(ls -A /app/quartz-repo/public 2>/dev/null)" ]; then echo "Copying Quartz output to public directory..." cp -r /app/quartz-repo/public/* /app/public/ 2>/dev/null || true fi # Ensure public directory exists if [ ! -d "/app/public" ] || [ -z "$(ls -A /app/public 2>/dev/null)" ]; then echo "Error: Public directory is empty, creating minimal site..." mkdir -p /app/public echo "doing-it Wiki

doing-it Wiki

Wiki wird geladen...

" > /app/public/index.html fi echo "Build complete. Starting server on port 8080..." cd /app serve -s public -l 8080