website-htmx-rustelo-code/site/templates/build-tools/setup.sh
2026-07-10 03:44:13 +01:00

105 lines
No EOL
3.3 KiB
Bash
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Site-Info Template Setup Script
# This script initializes the site-info template system
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TEMPLATES_DIR="$SCRIPT_DIR"
echo "🎨 Site-Info Template System Setup"
echo "=================================="
echo ""
# Check if templates already exist
if [ -f "$TEMPLATES_DIR/documentation/base.tera" ]; then
echo "✅ Templates are already set up at: $TEMPLATES_DIR"
echo ""
echo "📁 Template structure:"
find "$TEMPLATES_DIR" -name "*.tera" -o -name "*.md" | sort | sed 's|^| |'
echo ""
echo " Templates are ready for use. No action needed."
exit 0
fi
echo "🚨 WARNING: Templates directory exists but templates are missing!"
echo " Directory: $TEMPLATES_DIR"
echo ""
echo "This usually happens when:"
echo " - Templates were moved from source but files are missing"
echo " - Git didn't track the template files"
echo " - Template files were accidentally deleted"
echo ""
# Check if we're in the right place
if [ ! -f "$SCRIPT_DIR/../../../crates/site-info/Cargo.toml" ]; then
echo "❌ Error: This script must be run from the correct project directory"
echo " Expected: site/templates/site-info/"
echo " Current: $SCRIPT_DIR"
exit 1
fi
echo "🔧 Template Recovery Options:"
echo ""
echo "1. Restore from crate source (if available):"
echo " cp -r ../../../crates/site-info/src/templates/* ."
echo ""
echo "2. Initialize from scratch:"
echo " Create templates manually using the documentation in README.md"
echo ""
echo "3. Check git history:"
echo " git log --follow -- site/templates/site-info/"
echo ""
# Offer to restore from crate if source still exists
CRATE_TEMPLATES="../../../crates/site-info/src/templates"
if [ -d "$CRATE_TEMPLATES" ]; then
echo "✨ Found template source in crate directory!"
echo ""
read -p "Restore templates from crate source? [y/N]: " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "📋 Copying templates from crate source..."
# Copy templates while preserving structure
if [ -d "$CRATE_TEMPLATES/documentation" ]; then
cp -r "$CRATE_TEMPLATES/documentation" "$TEMPLATES_DIR/"
echo " ✓ Copied documentation templates"
fi
if [ -d "$CRATE_TEMPLATES/partials" ]; then
cp -r "$CRATE_TEMPLATES/partials" "$TEMPLATES_DIR/"
echo " ✓ Copied partial templates"
fi
if [ -d "$CRATE_TEMPLATES/i18n" ]; then
cp -r "$CRATE_TEMPLATES/i18n" "$TEMPLATES_DIR/"
echo " ✓ Copied i18n template directories"
fi
echo ""
echo "✅ Templates restored successfully!"
echo ""
echo "📁 Template structure:"
find "$TEMPLATES_DIR" -name "*.tera" | sort | sed 's|^| |'
echo ""
echo "🎯 Next steps:"
echo " 1. Test the build: cargo build"
echo " 2. Generate docs: cargo run --bin site-info-generator"
echo " 3. Commit templates: git add site/templates/site-info/"
exit 0
fi
fi
echo ""
echo "📖 For manual template creation, see:"
echo " site/templates/site-info/README.md"
echo ""
echo "🔗 Template examples and documentation:"
echo " https://keats.github.io/tera/docs/"
echo ""
exit 1