#!/bin/bash # CDN替换脚本 - 将国外CDN替换为国内CDN echo "开始替换CDN链接..." # 定义替换规则 declare -A cdn_replacements=( # Bootstrap CDN ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" ["https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"]="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js" # Bootstrap Icons ["https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.10.0/font/bootstrap-icons.css" ["https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.11.0/font/bootstrap-icons.css" # Vue.js ["https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"]="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js" ["https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.min.js"]="https://cdn.bootcdn.net/ajax/libs/vue/2.7.14/vue.min.js" # Element UI ["https://unpkg.com/element-ui@2.11.0/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.11.0/theme-chalk/index.css" ["https://unpkg.com/element-ui@2.11.0/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.11.0/index.js" ["https://unpkg.com/element-ui/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/theme-chalk/index.css" ["https://unpkg.com/element-ui/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/index.js" ["https://cdn.jsdelivr.net/npm/element-ui@2.15.9/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/index.js" ["https://cdn.jsdelivr.net/npm/element-ui@2.15.9/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/theme-chalk/index.css" # Chart.js ["https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.min.js"]="https://cdn.bootcdn.net/ajax/libs/Chart.js/4.4.0/chart.min.js" ["https://cdn.jsdelivr.net/npm/chart.js"]="https://cdn.bootcdn.net/ajax/libs/Chart.js/4.4.0/chart.min.js" # jQuery ["https://code.jquery.com/jquery-3.7.1.min.js"]="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js" ["https://code.jquery.com/jquery-3.7.0.min.js"]="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.0/jquery.min.js" # Font Awesome ["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"]="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css" # Lodash ["https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"]="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.14.1/lodash.min.js" ) # 查找所有HTML文件 find . -name "*.html" -type f | while read -r file; do echo "处理文件: $file" # 对每个文件进行替换 for old_url in "${!cdn_replacements[@]}"; do new_url="${cdn_replacements[$old_url]}" # 使用sed进行替换 if grep -q "$old_url" "$file"; then echo " 替换: $old_url -> $new_url" sed -i "s|$old_url|$new_url|g" "$file" fi done done echo "CDN替换完成!" echo "" echo "已替换的CDN服务:" echo "- Bootstrap: cdn.bootcdn.net" echo "- Vue.js: cdn.bootcdn.net" echo "- Element UI: cdn.bootcdn.net" echo "- Chart.js: cdn.bootcdn.net" echo "- jQuery: cdn.bootcdn.net" echo "- Font Awesome: cdn.bootcdn.net" echo "- Lodash: cdn.bootcdn.net"