# Rebuild the line-level source ledger for the static public-content files. # Run from any directory: pwsh -File tasks/build-content-line-ledger.ps1 $frontend = (Resolve-Path (Join-Path $PSScriptRoot '../../guilan-ace-frontend')).Path $sources = @( 'src/views/Home.tsx', 'src/views/AboutUs.tsx', 'src/components/Navbar.tsx', 'src/components/Footer.tsx', 'src/components/MobileBottomNav.tsx', 'src/app/page.tsx', 'src/app/about/page.tsx', 'src/app/layout.tsx', 'src/app/events/page.tsx', 'src/app/blog/page.tsx' ) $rows = foreach ($source in $sources) { $lineNumber = 0 foreach ($line in [System.IO.File]::ReadAllLines((Join-Path $frontend $source))) { $lineNumber++ if ($line -notmatch '[\u0600-\u06FF]|https?://|favicon\.ico|enamad\.png') { continue } $category = 'CMS editorial' $note = '' if ($line -match 'schema\.org|contactType|availableLanguage') { $category = 'code-owned UI' $note = 'Schema structure or vocabulary; referenced identity values remain editorial.' } elseif ($source -match 'Navbar|MobileBottomNav') { if ($line -match 'auth|profile|reset-password|logout|admin|ورود|ثبت‌نام|حساب|داشبورد|پروفایل|رمز|خروج|منوی') { $category = 'code-owned UI' } } elseif ($source -eq 'src/views/Home.tsx') { if ($line -match 'aria-label|