#!/usr/bin/env bash set -euo pipefail PROJECT_NAME="CSP-Minecraft-UI-Kit" # url|output|description readarray -t RESOURCES <<'LIST' https://a.lovart.ai/artifacts/agent/JBNC9ZCu38GlvB5k.png|ui-kit/01-UI-KIT-Basic-Components-4K.png|UI kit basic components https://a.lovart.ai/artifacts/agent/PN1u4ENvUmKjZLbI.png|ui-kit/02-UI-KIT-Gamification-Components-4K.png|UI kit gamification components https://a.lovart.ai/artifacts/agent/BKErUBAJ8x52GYyY.png|pages/03-Page-Design-Login-2K.png|Login page https://a.lovart.ai/artifacts/agent/mA9QlaxiEfFrYUdK.png|pages/04-Page-Design-Problem-Library-1K.png|Problem library page https://a.lovart.ai/artifacts/agent/IcCJDu9xkFALNuUS.png|pages/05-Page-Design-Code-Editor-1K.png|Code editor page https://a.lovart.ai/artifacts/agent/bkXI4WiboPJwwppy.png|pages/06-Page-Design-Profile-Center-1K.png|Profile center page https://a.lovart.ai/artifacts/agent/PtblvMgRI6EWZykt.png|pages/07-Page-Design-Contest-2K.png|Contest page https://a.lovart.ai/artifacts/agent/nFDbXNrV4vIb0TAf.png|responsive/08-Responsive-Design-Showcase-4K.png|Responsive showcase https://a.lovart.ai/artifacts/agent/pwGnBU44IlBbAked.png|dev-guide/09-CSS-Naming-Convention-and-Code-4K.png|CSS naming guide https://assets-persist.lovart.ai/agent_images/000728ad-aef9-4cc9-80b4-a333b1a29d44.html|docs/Design-Delivery-Document.html|Design document HTML https://assets-persist.lovart.ai/agent_images/927fc91b-45fe-4aed-8289-dbab9134036a.jpeg|docs/Design-Document-Preview.jpeg|Design doc preview https://a.lovart.ai/artifacts/agent/QcxFQeeckVCAJQqf.png|images/icons/10-Icons-Navigation-and-Functional-32x32-4K.png|Navigation and functional icons https://a.lovart.ai/artifacts/agent/hJcFuIpo4xGOKOaI.png|images/icons/11-Icons-Difficulty-and-Programming-32x32-4K.png|Difficulty and programming icons https://a.lovart.ai/artifacts/agent/W1iXxVdg3xIm5fP9.png|images/textures/12-Textures-Minecraft-Library-4K.png|Texture library https://a.lovart.ai/artifacts/agent/vwdnD6uAy43JFude.png|images/badges/13-Badges-Achievement-System-Complete-4K.png|Achievement badges https://a.lovart.ai/artifacts/agent/SucsD8o76CGC5BbY.png|images/ui/14-UI-Elements-Blocks-and-Particles-4K.png|Blocks and particles https://a.lovart.ai/artifacts/agent/iGOQyJelwI6y5cUG.png|images/ui/15-UI-Elements-Button-States-and-Feedback-4K.png|Button states and feedback https://a.lovart.ai/artifacts/agent/nJ3gAEmRoJyLLcY8.png|images/ui/16-UI-Elements-Level-System-and-XP-4K.png|Level system and XP LIST mkdir -p "${PROJECT_NAME}"/{ui-kit,pages,responsive,dev-guide,docs,images/icons,images/textures,images/badges,images/ui} cd "${PROJECT_NAME}" download() { local url="$1" local output="$2" local description="$3" printf "Downloading: %s\n" "$description" if command -v wget >/dev/null 2>&1; then wget -q --show-progress --tries=3 --timeout=30 -O "$output" "$url" elif command -v curl >/dev/null 2>&1; then curl -fL --retry 3 --connect-timeout 30 --progress-bar -o "$output" "$url" else echo "Error: neither wget nor curl is installed" >&2 exit 1 fi } count=0 for item in "${RESOURCES[@]}"; do IFS='|' read -r url output desc <<<"$item" download "$url" "$output" "$desc" count=$((count + 1)) done cat > README.md <<'README' # CSP Learning Platform - Minecraft Style UI Kit This package contains all downloadable UI kit resources for the CSP learning platform. ## Folder layout - ui-kit: core UI kit images - pages: full page designs - responsive: responsive showcase - dev-guide: CSS naming and implementation guide - docs: delivery document and preview image - images: icons, textures, badges, and UI decorative assets ## Source link - HTML doc: https://assets-persist.lovart.ai/agent_images/000728ad-aef9-4cc9-80b4-a333b1a29d44.html README printf "\nDone. Downloaded %d files into %s\n" "$count" "$(pwd)" find . -type f | wc -l | xargs printf "Total files on disk: %s\n" du -sh .