-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathflatten_all_icons.ps1
More file actions
41 lines (33 loc) · 1.48 KB
/
Copy pathflatten_all_icons.ps1
File metadata and controls
41 lines (33 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$src = "c:\Feroz\MainProjects\coding-arena\new\coding_arena\web\src\assets"
$destBase = "c:\Feroz\MainProjects\coding-arena\new\coding_arena\web\public\assets\diagram"
$destSystem = Join-Path $destBase "system"
$destBrands = Join-Path $destBase "brands"
# Create directories
if (!(Test-Path $destSystem)) { New-Item -ItemType Directory -Path $destSystem -Force }
if (!(Test-Path $destBrands)) { New-Item -ItemType Directory -Path $destBrands -Force }
Write-Host "Starting full icon flattening process..."
# Find all SVGs recursively
$allSvgs = Get-ChildItem -Path $src -Filter "*.svg" -Recurse
foreach ($file in $allSvgs) {
$parentDir = $file.DirectoryName
$targetDir = $destSystem # Default to system
# Determine if it's a Brand or System icon
if ($parentDir -like "*\icons*") {
$targetDir = $destBrands
}
# Clean the name
$newName = $file.Name
$newName = $newName -replace "^Res_", ""
$newName = $newName -replace "^Arch_", ""
$newName = $newName -replace "^Icon_", ""
$newName = $newName -replace "_48\.svg$", ".svg"
$newName = $newName -replace "_64\.svg$", ".svg"
$newName = $newName -replace "-Dark\.svg$", ".svg"
$newName = $newName -replace "-Light\.svg$", ".svg"
$newName = $newName -replace "^Amazon-", ""
$newName = $newName -replace "^AWS-", ""
$newName = $newName.ToLower()
$targetPath = Join-Path $targetDir $newName
Copy-Item $file.FullName $targetPath -Force
}
Write-Host "Flattening complete!"