create_symlinks.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. # 定义源目录和目标目录
  3. source_dir="content"
  4. target_dir="packages/semi-ui"
  5. # 遍历 content 目录下的二级子文件夹
  6. for type_dir in "$source_dir"/*; do
  7. if [ -d "$type_dir" ]; then
  8. for component_dir in "$type_dir"/*; do
  9. if [ -d "$component_dir" ]; then
  10. # 获取组件名称
  11. component_name=$(basename "$component_dir")
  12. # 确认目标目录中存在同名文件夹
  13. if [ -d "$target_dir/$component_name" ]; then
  14. echo "Found directory $target_dir/$component_name, creating symlinks..."
  15. # 创建 index.md 符号链接
  16. if [ -f "$component_dir/index.md" ]; then
  17. ln -sf "../../../$component_dir/index.md" "$target_dir/$component_name/index.md"
  18. echo "Created symlink: $target_dir/$component_name/index.md -> ../../../$component_dir/index.md"
  19. else
  20. echo "No index.md found in $component_dir"
  21. fi
  22. # 创建 index-en-US.md 符号链接
  23. if [ -f "$component_dir/index-en-US.md" ]; then
  24. ln -sf "../../../$component_dir/index-en-US.md" "$target_dir/$component_name/index-en-US.md"
  25. echo "Created symlink: $target_dir/$component_name/index-en-US.md -> ../../../$component_dir/index-en-US.md"
  26. else
  27. echo "No index-en-US.md found in $component_dir"
  28. fi
  29. else
  30. echo "Directory $target_dir/$component_name not found, skipping..."
  31. fi
  32. fi
  33. done
  34. fi
  35. done
  36. echo "符号链接创建完毕。"