TypeDialog/scripts/update-references.sh

147 lines
4.9 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# Update file references after reorganization
# Run AFTER git mv commands
set -e
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$PROJECT_ROOT"
echo "=== Updating references after reorganization ==="
echo ""
# Backup function
backup_file() {
local file=$1
if [ -f "$file" ]; then
cp "$file" "${file}.bak"
echo "✓ Backed up: $file"
fi
}
# Update function with display
update_refs() {
local file=$1
local search=$2
local replace=$3
if [ -f "$file" ]; then
if grep -q "$search" "$file" 2>/dev/null; then
backup_file "$file"
sed -i '' "s|$search|$replace|g" "$file"
echo "✓ Updated: $file"
echo " ├─ $search$replace"
fi
fi
}
echo "Step 1: Update README.md"
echo "------------------------"
# Update imgs/ → assets/ in README.md
update_refs "README.md" 'src="imgs/' 'src="assets/'
update_refs "README.md" 'href="imgs/' 'href="assets/'
# Update INSTALLATION.md → installation.md (uppercase to lowercase)
update_refs "README.md" 'docs/INSTALLATION\.md' 'docs/installation.md'
update_refs "README.md" 'docs/DEPLOYMENT\.md' 'docs/deployment.md'
update_refs "README.md" 'docs/QUICKSTART\.md' 'docs/quickstart.md'
echo ""
echo "Step 2: Update assets/ files (formerly imgs/)"
echo "----------------------------------------------"
# Update all files in assets/ directory
if [ -d "assets" ]; then
for file in assets/*.md assets/*.html; do
[ -f "$file" ] || continue
# Update /imgs/ → /assets/
update_refs "$file" '/imgs/' '/assets/'
update_refs "$file" 'href="imgs/' 'href="assets/'
update_refs "$file" 'src="imgs/' 'src="assets/'
done
fi
echo ""
echo "Step 3: Update docs/ cross-references"
echo "--------------------------------------"
# Update any cross-references in docs/
if [ -d "docs" ]; then
for file in docs/*.md; do
[ -f "$file" ] || continue
# Update uppercase references to lowercase
update_refs "$file" '\.\./INSTALLATION\.md' '../installation.md'
update_refs "$file" '\.\./DEPLOYMENT\.md' '../deployment.md'
update_refs "$file" '\.\./QUICKSTART\.md' '../quickstart.md'
update_refs "$file" 'INSTALLATION\.md' 'installation.md'
update_refs "$file" 'DEPLOYMENT\.md' 'deployment.md'
update_refs "$file" 'QUICKSTART\.md' 'quickstart.md'
# Update imgs/ → assets/
update_refs "$file" '\.\./imgs/' '../assets/'
update_refs "$file" '/imgs/' '/assets/'
done
fi
echo ""
echo "Step 4: Check for remaining old references"
echo "-------------------------------------------"
# Search for any remaining references (excluding backups, target, .git)
echo "Searching for remaining 'imgs/' references..."
remaining_imgs=$(grep -r "imgs/" --include="*.md" --include="*.html" --include="*.toml" \
--exclude-dir=target --exclude-dir=.git --exclude-dir=node_modules \
--exclude="*.bak" . 2>/dev/null | grep -v ".coder" | wc -l || echo "0")
if [ "$remaining_imgs" -gt 0 ]; then
echo "⚠️ Found $remaining_imgs remaining 'imgs/' references:"
grep -r "imgs/" --include="*.md" --include="*.html" --include="*.toml" \
--exclude-dir=target --exclude-dir=.git --exclude-dir=node_modules \
--exclude="*.bak" . 2>/dev/null | grep -v ".coder" | head -10
else
echo "✓ No remaining 'imgs/' references found"
fi
echo ""
echo "Searching for remaining uppercase doc references..."
remaining_docs=$(grep -rE "INSTALLATION\.md|DEPLOYMENT\.md|QUICKSTART\.md" \
--include="*.md" --include="*.toml" --include="*.rs" \
--exclude-dir=target --exclude-dir=.git --exclude-dir=node_modules \
--exclude="*.bak" . 2>/dev/null | grep -v ".coder" | wc -l || echo "0")
if [ "$remaining_docs" -gt 0 ]; then
echo "⚠️ Found $remaining_docs remaining uppercase doc references:"
grep -rE "INSTALLATION\.md|DEPLOYMENT\.md|QUICKSTART\.md" \
--include="*.md" --include="*.toml" --include="*.rs" \
--exclude-dir=target --exclude-dir=.git --exclude-dir=node_modules \
--exclude="*.bak" . 2>/dev/null | grep -v ".coder" | head -10
else
echo "✓ No remaining uppercase doc references found"
fi
echo ""
echo "Step 5: Cleanup backups (optional)"
echo "-----------------------------------"
echo "Backup files created with .bak extension"
echo "To remove backups: find . -name '*.bak' -type f -delete"
echo ""
backup_count=$(find . -name "*.bak" -type f | wc -l)
echo "Found $backup_count backup files"
echo ""
echo "=== Summary ==="
echo "✓ Updated references in README.md"
echo "✓ Updated references in assets/"
echo "✓ Updated references in docs/"
echo "✓ Checked for remaining old references"
echo ""
echo "Next steps:"
echo "1. Review changes: git diff"
echo "2. Test that links work"
echo "3. Remove backups: find . -name '*.bak' -delete"
echo "4. Commit: git add -A && git commit -m 'docs: reorganize structure and update references'"