MCPcopy
hub / github.com/oslook/cursor-ai-downloads / generateDownloadBadge

Function generateDownloadBadge

src/update-cursor-links.ts:222–248  ·  view source on GitHub ↗

* Generate a unified download badge for a platform

(platform: PlatformType, url: string)

Source from the content-addressed store, hash-verified

220 * Generate a unified download badge for a platform
221 */
222function generateDownloadBadge(platform: PlatformType, url: string): string {
223 // Platform configuration
224 const platformConfig: Record<PlatformType, PlatformBadgeConfig> = {
225 'darwin-universal': { color: '000000', logo: 'apple', label: 'macOS Universal' },
226 'darwin-x64': { color: '000000', logo: 'apple', label: 'macOS Intel' },
227 'darwin-arm64': { color: '000000', logo: 'apple', label: 'macOS Apple Silicon' },
228 'win32-x64-system': { color: '0078D6', logo: 'windows', label: 'Windows x64 System' },
229 'win32-arm64-system': { color: '0078D6', logo: 'windows', label: 'Windows ARM64 System' },
230 'win32-x64-user': { color: '0078D6', logo: 'windows', label: 'Windows x64 User' },
231 'win32-arm64-user': { color: '0078D6', logo: 'windows', label: 'Windows ARM64 User' },
232 'win32-x64': { color: '0078D6', logo: 'windows', label: 'Windows x64' },
233 'win32-arm64': { color: '0078D6', logo: 'windows', label: 'Windows ARM64' },
234 'linux-x64': { color: 'FCC624', logo: 'linux', label: 'Linux x64' },
235 'linux-arm64': { color: 'FCC624', logo: 'linux', label: 'Linux ARM64' }
236 };
237
238 const config = platformConfig[platform];
239 if (!config) {
240 return '';
241 }
242
243 // Encode the label for URL safety
244 const encodedLabel = config.label.replace(/\s+/g, '%20');
245 const encodedPlatform = platform.replace(/-/g, '%20');
246
247 return `<a href="${url}"><img src="https://img.shields.io/badge/${encodedLabel}-Download-${config.color}?style=for-the-badge&logo=${config.logo}&logoColor=white" alt="${config.label}"></a>`;
248}
249
250function generateDownloadLink(platform: PlatformType, url: string): string {
251 return `<a href="${url}">${platform}</a>`;

Callers 2

Calls

no outgoing calls

Tested by

no test coverage detected