147 lines
4.9 KiB
Bash
Executable File
147 lines
4.9 KiB
Bash
Executable File
#!/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'"
|