回退 scripts/unified_export.sh 到上一版本 - 恢复文件到 ea705d1 提交版本(725行), 移除新增的清理功能和部分复杂逻辑, 保持文档导出功能的核心稳定性
This commit is contained in:
parent
658718be73
commit
df489f880a
@ -10,13 +10,8 @@ RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
PURPLE='\033[0;35m'
|
||||
NC='\033[0m'
|
||||
|
||||
# 全局变量
|
||||
TEMP_DIRS=()
|
||||
TEMP_FILES=()
|
||||
|
||||
# 日志函数
|
||||
log_info() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
@ -34,99 +29,6 @@ log_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
log_cleanup() {
|
||||
echo -e "${PURPLE}[CLEANUP]${NC} $1"
|
||||
}
|
||||
|
||||
# 清理函数
|
||||
cleanup_temp_files() {
|
||||
log_cleanup "开始清理临时文件..."
|
||||
|
||||
local cleaned_dirs=0
|
||||
local cleaned_files=0
|
||||
|
||||
# 清理临时目录
|
||||
for temp_dir in "${TEMP_DIRS[@]}"; do
|
||||
if [[ -d "$temp_dir" ]]; then
|
||||
log_cleanup "删除临时目录: $temp_dir"
|
||||
rm -rf "$temp_dir"
|
||||
cleaned_dirs=$((cleaned_dirs + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
# 清理临时文件
|
||||
for temp_file in "${TEMP_FILES[@]}"; do
|
||||
if [[ -f "$temp_file" ]]; then
|
||||
log_cleanup "删除临时文件: $temp_file"
|
||||
rm -f "$temp_file"
|
||||
cleaned_files=$((cleaned_files + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
# 清理通用临时文件模式
|
||||
find . -name "temp_mermaid_*" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
find . -name "*_processed.md" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
find . -name "*.tmp" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
|
||||
log_success "临时文件清理完成 (目录: $cleaned_dirs, 文件: $cleaned_files)"
|
||||
}
|
||||
|
||||
# 清理输出缓存
|
||||
cleanup_output_cache() {
|
||||
log_cleanup "开始清理输出缓存..."
|
||||
|
||||
local cleaned_count=0
|
||||
|
||||
if [[ -d "output" ]]; then
|
||||
# 清理处理过的markdown文件
|
||||
find output -name "*_processed.md" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
|
||||
# 清理旧的图表文件
|
||||
find output -name "diagram_*.png" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
find output -name "*.mmd" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
|
||||
# 统计清理的文件数量
|
||||
cleaned_count=$(find output -name "*_processed.md" -o -name "diagram_*.png" -o -name "*.mmd" 2>/dev/null | wc -l)
|
||||
|
||||
log_success "输出缓存清理完成 (清理文件: $cleaned_count)"
|
||||
else
|
||||
log_info "输出目录不存在,无需清理缓存"
|
||||
fi
|
||||
}
|
||||
|
||||
# 全面清理
|
||||
cleanup_all() {
|
||||
log_cleanup "开始全面清理..."
|
||||
|
||||
# 清理临时文件
|
||||
cleanup_temp_files
|
||||
|
||||
# 清理输出缓存
|
||||
cleanup_output_cache
|
||||
|
||||
# 清理所有输出文件
|
||||
if [[ -d "output" ]]; then
|
||||
log_cleanup "清理所有输出文件..."
|
||||
rm -rf output/*
|
||||
log_success "所有输出文件已清理"
|
||||
fi
|
||||
|
||||
# 清理node_modules中的临时文件
|
||||
if [[ -d "node_modules" ]]; then
|
||||
find node_modules -name "*.tmp" -type f -exec rm -f {} + 2>/dev/null || true
|
||||
fi
|
||||
|
||||
log_success "全面清理完成"
|
||||
}
|
||||
|
||||
# 设置清理陷阱
|
||||
setup_cleanup_trap() {
|
||||
# 在脚本退出时自动清理
|
||||
trap 'cleanup_temp_files' EXIT
|
||||
# 在收到中断信号时清理
|
||||
trap 'log_warning "收到中断信号,正在清理..."; cleanup_temp_files; exit 1' INT TERM
|
||||
}
|
||||
|
||||
# 检查依赖
|
||||
check_dependencies() {
|
||||
log_info "检查依赖工具..."
|
||||
@ -165,12 +67,8 @@ process_single_document_mermaid() {
|
||||
|
||||
log_info "处理文档 $doc_name 中的Mermaid图表..."
|
||||
|
||||
# 创建临时目录并记录
|
||||
# 创建临时目录
|
||||
mkdir -p "$temp_dir"
|
||||
TEMP_DIRS+=("$temp_dir")
|
||||
|
||||
# 记录输出文件
|
||||
TEMP_FILES+=("$output_file")
|
||||
|
||||
local diagram_count=0
|
||||
local in_mermaid=false
|
||||
@ -205,9 +103,6 @@ EOF
|
||||
local mermaid_file="$temp_dir/diagram_$diagram_count.mmd"
|
||||
local png_file="$temp_dir/diagram_$diagram_count.png"
|
||||
|
||||
# 记录临时文件
|
||||
TEMP_FILES+=("$mermaid_file" "$png_file")
|
||||
|
||||
# 保存Mermaid代码
|
||||
echo "$mermaid_content" > "$mermaid_file"
|
||||
|
||||
@ -733,14 +628,6 @@ main() {
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# 设置清理陷阱
|
||||
setup_cleanup_trap
|
||||
|
||||
# 开始前清理旧的临时文件
|
||||
log_cleanup "清理旧的临时文件和缓存..."
|
||||
cleanup_temp_files
|
||||
cleanup_output_cache
|
||||
|
||||
# 检查依赖
|
||||
check_dependencies
|
||||
|
||||
@ -770,11 +657,6 @@ main() {
|
||||
processed_count=$((processed_count + 1))
|
||||
log_info "正在处理文档 [$processed_count/${#documents[@]}]: $doc"
|
||||
process_single_document "$doc" "$export_format" "$css_file"
|
||||
|
||||
# 处理完每个文档后进行部分清理
|
||||
log_cleanup "清理文档 $doc 的临时文件..."
|
||||
local doc_name=$(basename "$doc" .md)
|
||||
find . -name "temp_mermaid_${doc_name}_*" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
else
|
||||
log_warning "文档不存在: $doc"
|
||||
fi
|
||||
@ -806,17 +688,12 @@ main() {
|
||||
echo " - 文档标题和内容保持独立"
|
||||
echo " - 每个文档都有独立的目录结构"
|
||||
echo " - 图表文件保存在对应的临时目录中"
|
||||
echo " - 临时文件已自动清理"
|
||||
echo ""
|
||||
|
||||
# 最终清理检查
|
||||
log_cleanup "执行最终清理检查..."
|
||||
cleanup_temp_files
|
||||
}
|
||||
|
||||
# 显示使用说明
|
||||
show_usage() {
|
||||
echo "用法: $0 [选项]"
|
||||
echo "用法: $0 [格式]"
|
||||
echo ""
|
||||
echo "格式选项:"
|
||||
echo " all 导出所有格式 (默认)"
|
||||
@ -824,19 +701,11 @@ show_usage() {
|
||||
echo " pdf 仅导出PDF格式"
|
||||
echo " html 仅导出HTML格式"
|
||||
echo ""
|
||||
echo "清理选项:"
|
||||
echo " clean 清理临时文件和缓存"
|
||||
echo " clean-all 清理所有文件包括输出"
|
||||
echo " clean-cache 仅清理缓存文件"
|
||||
echo ""
|
||||
echo "示例:"
|
||||
echo " $0 # 导出所有格式"
|
||||
echo " $0 docx # 仅导出Word"
|
||||
echo " $0 pdf # 仅导出PDF"
|
||||
echo " $0 html # 仅导出HTML"
|
||||
echo " $0 clean # 清理临时文件"
|
||||
echo " $0 clean-all # 清理所有文件"
|
||||
echo " $0 clean-cache # 清理缓存"
|
||||
echo " $0 # 导出所有格式"
|
||||
echo " $0 docx # 仅导出Word"
|
||||
echo " $0 pdf # 仅导出PDF"
|
||||
echo " $0 html # 仅导出HTML"
|
||||
}
|
||||
|
||||
# 处理命令行参数
|
||||
@ -845,30 +714,11 @@ case "${1:-}" in
|
||||
show_usage
|
||||
exit 0
|
||||
;;
|
||||
clean)
|
||||
echo "🧹 开始清理临时文件和缓存..."
|
||||
cleanup_temp_files
|
||||
cleanup_output_cache
|
||||
echo "✅ 清理完成"
|
||||
exit 0
|
||||
;;
|
||||
clean-all)
|
||||
echo "🧹 开始全面清理..."
|
||||
cleanup_all
|
||||
echo "✅ 全面清理完成"
|
||||
exit 0
|
||||
;;
|
||||
clean-cache)
|
||||
echo "🧹 开始清理缓存..."
|
||||
cleanup_output_cache
|
||||
echo "✅ 缓存清理完成"
|
||||
exit 0
|
||||
;;
|
||||
all|docx|pdf|html|"")
|
||||
main "${1:-all}"
|
||||
;;
|
||||
*)
|
||||
echo "错误: 不支持的选项 '$1'"
|
||||
echo "错误: 不支持的格式 '$1'"
|
||||
echo ""
|
||||
show_usage
|
||||
exit 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user