New:Socket for Asana Is Now Available.Learn more
Get Started

ZipIt - Website to ZIP

Package Overview
Versions
2
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zipit@blintix.store - firefox Package Compare versions

Comparing version
1.3
to
1.4
+71
_locales/ar/messages.json
{
"appName": { "message": "ZipIt - موقع إلى ZIP" },
"appDesc": { "message": "قم بتنزيل أي موقع ويب كملف ZIP فوراً." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "الموقع المستهدف" },
"noWebpage": { "message": "لم يتم الكشف عن صفحة ويب" },
"modeFullTitle": { "message": "كامل" },
"modeFullSub": { "message": "حزمة غير متصلة" },
"modeDesignTitle": { "message": "تصميم" },
"modeDesignSub": { "message": "استخراج الرموز" },
"modeInspectTitle": { "message": "فحص" },
"modeInspectSub": { "message": "تحليل DOM" },
"assetsToBundleLabel": { "message": "الموارد للتجميع" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "مضمن دائماً" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "ملفات النمط + إعادة كتابة url()" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "جميع النصوص البرمجية" },
"assetImages": { "message": "الصور" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "الخطوط" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "الوسائط" },
"assetMediaDesc": { "message": "فيديو، صوت، JSON" },
"downloadBtn": { "message": "تحميل الموقع بالكامل" },
"tabOverview": { "message": "نظرة عامة" },
"tabAccessibility": { "message": "إمكانية الوصول" },
"tabColors": { "message": "الألوان" },
"tabFonts": { "message": "الخطوط" },
"tabMedia": { "message": "الوسائط" },
"solidColors": { "message": "ألوان صلبة" },
"gradients": { "message": "التدرجات" },
"families": { "message": "العائلات" },
"scale": { "message": "المقياس" },
"inspectMode": { "message": "وضع الفحص" },
"hoverOverElement": { "message": "مرر فوق عنصر" },
"exportComponent": { "message": "تصدير المكون" },
"copyFigmaLayers": { "message": "نسخ طبقات Figma" },
"copyPrompt": { "message": "نسخ مطالبة إعادة التوليد" },
"downloadAuditReport": { "message": "تحميل تقرير التدقيق" },
"visualizeTabSeq": { "message": "تصور تسلسل Tab" },
"noGradientsFound": { "message": "لم يتم الكشف عن تدرجات" },
"noMediaFound": { "message": "لم يتم العثور على وسائط" },
"noDesignData": { "message": "لم يتم العثور على بيانات تصميم" },
"analysisComplete": { "message": "اكتمل التحليل" },
"extracting": { "message": "جارٍ استخراج التصميم..." },
"scanning": { "message": "جارٍ فحص الموارد..." },
"preparing": { "message": "جارٍ التحضير..." },
"bundling": { "message": "جارٍ تجميع الموقع" },
"copied": { "message": "تم النسخ!" },
"upgradePro": { "message": "الترقية إلى Pro — $25" },
"upgradeLifetime": { "message": "الترقية مدى الحياة" },
"continueFreee": { "message": "الاستمرار بالميزات المجانية" },
"hitLimit": { "message": "لقد وصلت إلى الحد المسموح." },
"sitePalette": { "message": "لوحة ألوان الموقع" },
"freeExtractions": { "message": "الاستخراجات المجانية" },
"reportDownloadPro": { "message": "تحميل التقرير يتطلب Pro" },
"proActive": { "message": "Pro مدى الحياة مفعّل" },
"enterLicense": { "message": "أدخل مفتاح الترخيص" },
"activateLicense": { "message": "تفعيل الترخيص" },
"proFeature": { "message": "ميزة Pro" },
"close": { "message": "إغلاق" },
"apply": { "message": "تطبيق" },
"download": { "message": "تحميل" },
"style": { "message": "النمط" },
"media": { "message": "الوسائط" },
"openZipit": { "message": "فتح ZipIt" },
"closeZipit": { "message": "إغلاق ZipIt" },
"hideButton": { "message": "إخفاء زر ZipIt" }
}
{
"appName": { "message": "ZipIt - Website zu ZIP" },
"appDesc": { "message": "Laden Sie jede Website sofort als ZIP-Datei herunter." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "Ziel-Website" },
"noWebpage": { "message": "Keine Webseite erkannt" },
"modeFullTitle": { "message": "Vollständig" },
"modeFullSub": { "message": "Offline-Bundle" },
"modeDesignTitle": { "message": "Design" },
"modeDesignSub": { "message": "Tokens extrahieren" },
"modeInspectTitle": { "message": "Prüfen" },
"modeInspectSub": { "message": "DOM analysieren" },
"assetsToBundleLabel": { "message": "Zu bündelnde Ressourcen" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "Immer enthalten" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "Stylesheets + url()-Umschreibung" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "Alle Skripte" },
"assetImages": { "message": "Bilder" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "Schriften" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "Medien" },
"assetMediaDesc": { "message": "Video, Audio, JSON" },
"downloadBtn": { "message": "Ganze Website herunterladen" },
"tabOverview": { "message": "Übersicht" },
"tabAccessibility": { "message": "Barrierefreiheit" },
"tabColors": { "message": "Farben" },
"tabFonts": { "message": "Schriften" },
"tabMedia": { "message": "Medien" },
"solidColors": { "message": "Einfarbig" },
"gradients": { "message": "Verläufe" },
"families": { "message": "Familien" },
"scale": { "message": "Skala" },
"inspectMode": { "message": "Inspektionsmodus" },
"hoverOverElement": { "message": "Über ein Element fahren" },
"exportComponent": { "message": "Komponente exportieren" },
"copyFigmaLayers": { "message": "Figma-Ebenen kopieren" },
"copyPrompt": { "message": "Regenerierungs-Prompt kopieren" },
"downloadAuditReport": { "message": "Prüfbericht herunterladen" },
"visualizeTabSeq": { "message": "Tab-Reihenfolge visualisieren" },
"noGradientsFound": { "message": "Keine Verläufe gefunden" },
"noMediaFound": { "message": "Keine Medien gefunden" },
"noDesignData": { "message": "Keine Designdaten gefunden" },
"analysisComplete": { "message": "Analyse abgeschlossen" },
"extracting": { "message": "Design wird extrahiert..." },
"scanning": { "message": "Ressourcen werden gescannt..." },
"preparing": { "message": "Vorbereitung..." },
"bundling": { "message": "Website wird gebündelt" },
"copied": { "message": "Kopiert!" },
"upgradePro": { "message": "Auf Pro upgraden — 25$" },
"upgradeLifetime": { "message": "Lebenszeitlizenz kaufen" },
"continueFreee": { "message": "Mit Gratisfunktionen fortfahren" },
"hitLimit": { "message": "Sie haben das Limit erreicht." },
"sitePalette": { "message": "Website-Palette" },
"freeExtractions": { "message": "Kostenlose Extraktionen" },
"reportDownloadPro": { "message": "Berichts-Download erfordert Pro" },
"proActive": { "message": "Pro Lebenslang aktiv" },
"enterLicense": { "message": "Lizenzschlüssel eingeben" },
"activateLicense": { "message": "Lizenz aktivieren" },
"proFeature": { "message": "Pro-Funktion" },
"close": { "message": "Schließen" },
"apply": { "message": "Anwenden" },
"download": { "message": "Herunterladen" },
"style": { "message": "Stil" },
"media": { "message": "Medien" },
"openZipit": { "message": "ZipIt öffnen" },
"closeZipit": { "message": "ZipIt schließen" },
"hideButton": { "message": "ZipIt-Schaltfläche ausblenden" }
}
{
"appName": { "message": "ZipIt - Website to ZIP" },
"appDesc": { "message": "Download any website as a ZIP file instantly." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "Target Website" },
"noWebpage": { "message": "No Webpage Detected" },
"modeFullTitle": { "message": "Full" },
"modeFullSub": { "message": "Offline Bundle" },
"modeDesignTitle": { "message": "Design" },
"modeDesignSub": { "message": "Extract Tokens" },
"modeInspectTitle": { "message": "Inspect" },
"modeInspectSub": { "message": "Analyze DOM" },
"assetsToBundleLabel": { "message": "Assets to Bundle" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "Always included" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "Stylesheets + url() rewrite" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "All scripts" },
"assetImages": { "message": "Images" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "Fonts" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "Media" },
"assetMediaDesc": { "message": "Video, audio, JSON" },
"downloadBtn": { "message": "Download Whole Website" },
"tabOverview": { "message": "Overview" },
"tabAccessibility": { "message": "Accessibility" },
"tabColors": { "message": "Colors" },
"tabFonts": { "message": "Fonts" },
"tabMedia": { "message": "Media" },
"solidColors": { "message": "Solid Colors" },
"gradients": { "message": "Gradients" },
"families": { "message": "Families" },
"scale": { "message": "Scale" },
"inspectMode": { "message": "Inspect Mode" },
"hoverOverElement": { "message": "Hover over an element" },
"exportComponent": { "message": "Export Component" },
"copyFigmaLayers": { "message": "Copy Figma Layers" },
"copyPrompt": { "message": "Copy Regeneration Prompt" },
"downloadAuditReport": { "message": "Download Full Audit Report" },
"visualizeTabSeq": { "message": "Visualize Tab Sequence" },
"noGradientsFound": { "message": "No gradients detected" },
"noMediaFound": { "message": "No media assets found" },
"noDesignData": { "message": "No design data found" },
"analysisComplete": { "message": "Analysis complete" },
"extracting": { "message": "Extracting Design..." },
"scanning": { "message": "Scanning assets..." },
"preparing": { "message": "Preparing..." },
"bundling": { "message": "Bundling Site" },
"copied": { "message": "Copied!" },
"upgradePro": { "message": "Upgrade to Pro — $25" },
"upgradeLifetime": { "message": "Upgrade to Lifetime" },
"continueFreee": { "message": "Continue with free features" },
"hitLimit": { "message": "You've hit the limit." },
"sitePalette": { "message": "Site Palette" },
"freeExtractions": { "message": "Free Extractions" },
"reportDownloadPro": { "message": "Report download requires Pro" },
"proActive": { "message": "Pro Lifetime Active" },
"enterLicense": { "message": "Enter License Key" },
"activateLicense": { "message": "Activate License" },
"proFeature": { "message": "Pro Feature" },
"close": { "message": "Close" },
"apply": { "message": "Apply" },
"download": { "message": "Download" },
"style": { "message": "Style" },
"media": { "message": "Media" },
"openZipit": { "message": "Open ZipIt" },
"closeZipit": { "message": "Close ZipIt" },
"hideButton": { "message": "Hide ZipIt button" }
}
{
"appName": { "message": "ZipIt - Sitio web a ZIP" },
"appDesc": { "message": "Descarga cualquier sitio web como ZIP al instante." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "Sitio Web Objetivo" },
"noWebpage": { "message": "No se detectó página web" },
"modeFullTitle": { "message": "Completo" },
"modeFullSub": { "message": "Bundle Offline" },
"modeDesignTitle": { "message": "Diseño" },
"modeDesignSub": { "message": "Extraer Tokens" },
"modeInspectTitle": { "message": "Inspeccionar" },
"modeInspectSub": { "message": "Analizar DOM" },
"assetsToBundleLabel": { "message": "Activos a incluir" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "Siempre incluido" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "Hojas de estilo + reescritura url()" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "Todos los scripts" },
"assetImages": { "message": "Imágenes" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "Fuentes" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "Multimedia" },
"assetMediaDesc": { "message": "Vídeo, audio, JSON" },
"downloadBtn": { "message": "Descargar Sitio Web Completo" },
"tabOverview": { "message": "Resumen" },
"tabAccessibility": { "message": "Accesibilidad" },
"tabColors": { "message": "Colores" },
"tabFonts": { "message": "Fuentes" },
"tabMedia": { "message": "Multimedia" },
"solidColors": { "message": "Colores Sólidos" },
"gradients": { "message": "Degradados" },
"families": { "message": "Familias" },
"scale": { "message": "Escala" },
"inspectMode": { "message": "Modo Inspección" },
"hoverOverElement": { "message": "Pasa el cursor sobre un elemento" },
"exportComponent": { "message": "Exportar Componente" },
"copyFigmaLayers": { "message": "Copiar Capas Figma" },
"copyPrompt": { "message": "Copiar Prompt de Regeneración" },
"downloadAuditReport": { "message": "Descargar Informe de Auditoría" },
"visualizeTabSeq": { "message": "Visualizar Secuencia de Tabulación" },
"noGradientsFound": { "message": "No se detectaron degradados" },
"noMediaFound": { "message": "No se encontraron recursos multimedia" },
"noDesignData": { "message": "No se encontraron datos de diseño" },
"analysisComplete": { "message": "Análisis completo" },
"extracting": { "message": "Extrayendo Diseño..." },
"scanning": { "message": "Escaneando activos..." },
"preparing": { "message": "Preparando..." },
"bundling": { "message": "Empaquetando sitio" },
"copied": { "message": "¡Copiado!" },
"upgradePro": { "message": "Actualizar a Pro — $25" },
"upgradeLifetime": { "message": "Actualizar de por vida" },
"continueFreee": { "message": "Continuar con funciones gratuitas" },
"hitLimit": { "message": "Has alcanzado el límite." },
"sitePalette": { "message": "Paleta del Sitio" },
"freeExtractions": { "message": "Extracciones Gratuitas" },
"reportDownloadPro": { "message": "Descarga de informe requiere Pro" },
"proActive": { "message": "Pro Lifetime Activo" },
"enterLicense": { "message": "Ingresar Clave de Licencia" },
"activateLicense": { "message": "Activar Licencia" },
"proFeature": { "message": "Función Pro" },
"close": { "message": "Cerrar" },
"apply": { "message": "Aplicar" },
"download": { "message": "Descargar" },
"style": { "message": "Estilo" },
"media": { "message": "Multimedia" },
"openZipit": { "message": "Abrir ZipIt" },
"closeZipit": { "message": "Cerrar ZipIt" },
"hideButton": { "message": "Ocultar botón ZipIt" }
}
{
"appName": { "message": "ZipIt - Site web en ZIP" },
"appDesc": { "message": "Téléchargez n'importe quel site web en ZIP instantanément." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "Site Web Cible" },
"noWebpage": { "message": "Aucune page web détectée" },
"modeFullTitle": { "message": "Complet" },
"modeFullSub": { "message": "Bundle hors ligne" },
"modeDesignTitle": { "message": "Design" },
"modeDesignSub": { "message": "Extraire les tokens" },
"modeInspectTitle": { "message": "Inspecter" },
"modeInspectSub": { "message": "Analyser le DOM" },
"assetsToBundleLabel": { "message": "Ressources à inclure" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "Toujours inclus" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "Feuilles de style + réécriture url()" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "Tous les scripts" },
"assetImages": { "message": "Images" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "Polices" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "Médias" },
"assetMediaDesc": { "message": "Vidéo, audio, JSON" },
"downloadBtn": { "message": "Télécharger le site entier" },
"tabOverview": { "message": "Aperçu" },
"tabAccessibility": { "message": "Accessibilité" },
"tabColors": { "message": "Couleurs" },
"tabFonts": { "message": "Polices" },
"tabMedia": { "message": "Médias" },
"solidColors": { "message": "Couleurs Unies" },
"gradients": { "message": "Dégradés" },
"families": { "message": "Familles" },
"scale": { "message": "Échelle" },
"inspectMode": { "message": "Mode Inspection" },
"hoverOverElement": { "message": "Survolez un élément" },
"exportComponent": { "message": "Exporter le Composant" },
"copyFigmaLayers": { "message": "Copier les Calques Figma" },
"copyPrompt": { "message": "Copier le Prompt de Régénération" },
"downloadAuditReport": { "message": "Télécharger le Rapport d'Audit" },
"visualizeTabSeq": { "message": "Visualiser la Séquence de Tabulation" },
"noGradientsFound": { "message": "Aucun dégradé détecté" },
"noMediaFound": { "message": "Aucun média trouvé" },
"noDesignData": { "message": "Aucune donnée de design trouvée" },
"analysisComplete": { "message": "Analyse terminée" },
"extracting": { "message": "Extraction du Design..." },
"scanning": { "message": "Analyse des ressources..." },
"preparing": { "message": "Préparation..." },
"bundling": { "message": "Création du bundle" },
"copied": { "message": "Copié !" },
"upgradePro": { "message": "Passer à Pro — 25$" },
"upgradeLifetime": { "message": "Passer à vie" },
"continueFreee": { "message": "Continuer avec les fonctions gratuites" },
"hitLimit": { "message": "Vous avez atteint la limite." },
"sitePalette": { "message": "Palette du Site" },
"freeExtractions": { "message": "Extractions Gratuites" },
"reportDownloadPro": { "message": "Téléchargement du rapport nécessite Pro" },
"proActive": { "message": "Pro Lifetime Actif" },
"enterLicense": { "message": "Entrer la Clé de Licence" },
"activateLicense": { "message": "Activer la Licence" },
"proFeature": { "message": "Fonctionnalité Pro" },
"close": { "message": "Fermer" },
"apply": { "message": "Appliquer" },
"download": { "message": "Télécharger" },
"style": { "message": "Style" },
"media": { "message": "Médias" },
"openZipit": { "message": "Ouvrir ZipIt" },
"closeZipit": { "message": "Fermer ZipIt" },
"hideButton": { "message": "Masquer le bouton ZipIt" }
}
{
"appName": { "message": "ZipIt - वेबसाइट से ZIP" },
"appDesc": { "message": "किसी भी वेबसाइट को तुरंत ZIP के रूप में डाउनलोड करें।" },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "लक्ष्य वेबसाइट" },
"noWebpage": { "message": "कोई वेब पेज नहीं मिला" },
"modeFullTitle": { "message": "पूर्ण" },
"modeFullSub": { "message": "ऑफलाइन बंडल" },
"modeDesignTitle": { "message": "डिज़ाइन" },
"modeDesignSub": { "message": "टोकन निकालें" },
"modeInspectTitle": { "message": "निरीक्षण" },
"modeInspectSub": { "message": "DOM विश्लेषण" },
"assetsToBundleLabel": { "message": "बंडल करने के लिए संसाधन" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "हमेशा शामिल" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "स्टाइलशीट + url() पुनर्लेखन" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "सभी स्क्रिप्ट" },
"assetImages": { "message": "छवियाँ" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "फ़ॉन्ट" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "मीडिया" },
"assetMediaDesc": { "message": "वीडियो, ऑडियो, JSON" },
"downloadBtn": { "message": "पूरी वेबसाइट डाउनलोड करें" },
"tabOverview": { "message": "अवलोकन" },
"tabAccessibility": { "message": "अभिगम्यता" },
"tabColors": { "message": "रंग" },
"tabFonts": { "message": "फ़ॉन्ट" },
"tabMedia": { "message": "मीडिया" },
"solidColors": { "message": "ठोस रंग" },
"gradients": { "message": "ग्रेडिएंट" },
"families": { "message": "परिवार" },
"scale": { "message": "स्केल" },
"inspectMode": { "message": "निरीक्षण मोड" },
"hoverOverElement": { "message": "किसी तत्व पर होवर करें" },
"exportComponent": { "message": "घटक निर्यात करें" },
"copyFigmaLayers": { "message": "Figma परतें कॉपी करें" },
"copyPrompt": { "message": "पुनर्जनन प्रॉम्प्ट कॉपी करें" },
"downloadAuditReport": { "message": "ऑडिट रिपोर्ट डाउनलोड करें" },
"visualizeTabSeq": { "message": "टैब अनुक्रम देखें" },
"noGradientsFound": { "message": "कोई ग्रेडिएंट नहीं मिला" },
"noMediaFound": { "message": "कोई मीडिया नहीं मिला" },
"noDesignData": { "message": "कोई डिज़ाइन डेटा नहीं मिला" },
"analysisComplete": { "message": "विश्लेषण पूर्ण" },
"extracting": { "message": "डिज़ाइन निकाला जा रहा है..." },
"scanning": { "message": "संसाधन स्कैन हो रहे हैं..." },
"preparing": { "message": "तैयारी हो रही है..." },
"bundling": { "message": "साइट बंडल हो रही है" },
"copied": { "message": "कॉपी किया!" },
"upgradePro": { "message": "Pro में अपग्रेड करें — $25" },
"upgradeLifetime": { "message": "लाइफटाइम अपग्रेड करें" },
"continueFreee": { "message": "मुफ़्त सुविधाओं के साथ जारी रखें" },
"hitLimit": { "message": "आपने सीमा तक पहुँच लिया है।" },
"sitePalette": { "message": "साइट पैलेट" },
"freeExtractions": { "message": "मुफ़्त निष्कर्षण" },
"reportDownloadPro": { "message": "रिपोर्ट डाउनलोड Pro आवश्यक है" },
"proActive": { "message": "Pro लाइफटाइम सक्रिय" },
"enterLicense": { "message": "लाइसेंस कुंजी दर्ज करें" },
"activateLicense": { "message": "लाइसेंस सक्रिय करें" },
"proFeature": { "message": "Pro सुविधा" },
"close": { "message": "बंद करें" },
"apply": { "message": "लागू करें" },
"download": { "message": "डाउनलोड" },
"style": { "message": "शैली" },
"media": { "message": "मीडिया" },
"openZipit": { "message": "ZipIt खोलें" },
"closeZipit": { "message": "ZipIt बंद करें" },
"hideButton": { "message": "ZipIt बटन छुपाएं" }
}
{
"appName": { "message": "ZipIt - ウェブサイトをZIPに" },
"appDesc": { "message": "あらゆるウェブサイトを即座にZIPファイルとしてダウンロード。" },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "対象ウェブサイト" },
"noWebpage": { "message": "ウェブページが検出されません" },
"modeFullTitle": { "message": "フル" },
"modeFullSub": { "message": "オフラインバンドル" },
"modeDesignTitle": { "message": "デザイン" },
"modeDesignSub": { "message": "トークン抽出" },
"modeInspectTitle": { "message": "検査" },
"modeInspectSub": { "message": "DOM解析" },
"assetsToBundleLabel": { "message": "バンドルするリソース" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "常に含まれる" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "スタイルシート + url()書き換え" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "すべてのスクリプト" },
"assetImages": { "message": "画像" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "フォント" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "メディア" },
"assetMediaDesc": { "message": "動画、音声、JSON" },
"downloadBtn": { "message": "ウェブサイト全体をダウンロード" },
"tabOverview": { "message": "概要" },
"tabAccessibility": { "message": "アクセシビリティ" },
"tabColors": { "message": "カラー" },
"tabFonts": { "message": "フォント" },
"tabMedia": { "message": "メディア" },
"solidColors": { "message": "単色" },
"gradients": { "message": "グラデーション" },
"families": { "message": "ファミリー" },
"scale": { "message": "スケール" },
"inspectMode": { "message": "検査モード" },
"hoverOverElement": { "message": "要素にホバーしてください" },
"exportComponent": { "message": "コンポーネントをエクスポート" },
"copyFigmaLayers": { "message": "Figmaレイヤーをコピー" },
"copyPrompt": { "message": "再生成プロンプトをコピー" },
"downloadAuditReport": { "message": "監査レポートをダウンロード" },
"visualizeTabSeq": { "message": "タブ順序を可視化" },
"noGradientsFound": { "message": "グラデーションが検出されませんでした" },
"noMediaFound": { "message": "メディアが見つかりません" },
"noDesignData": { "message": "デザインデータが見つかりません" },
"analysisComplete": { "message": "分析完了" },
"extracting": { "message": "デザインを抽出中..." },
"scanning": { "message": "リソースをスキャン中..." },
"preparing": { "message": "準備中..." },
"bundling": { "message": "サイトをバンドル中" },
"copied": { "message": "コピーしました!" },
"upgradePro": { "message": "Proにアップグレード — $25" },
"upgradeLifetime": { "message": "生涯版にアップグレード" },
"continueFreee": { "message": "無料機能で続ける" },
"hitLimit": { "message": "制限に達しました。" },
"sitePalette": { "message": "サイトパレット" },
"freeExtractions": { "message": "無料抽出回数" },
"reportDownloadPro": { "message": "レポートダウンロードにはProが必要" },
"proActive": { "message": "Pro生涯版有効" },
"enterLicense": { "message": "ライセンスキーを入力" },
"activateLicense": { "message": "ライセンスを有効化" },
"proFeature": { "message": "Pro機能" },
"close": { "message": "閉じる" },
"apply": { "message": "適用" },
"download": { "message": "ダウンロード" },
"style": { "message": "スタイル" },
"media": { "message": "メディア" },
"openZipit": { "message": "ZipItを開く" },
"closeZipit": { "message": "ZipItを閉じる" },
"hideButton": { "message": "ZipItボタンを非表示" }
}
{
"appName": { "message": "ZipIt - 웹사이트를 ZIP으로" },
"appDesc": { "message": "모든 웹사이트를 즉시 ZIP 파일로 다운로드하세요." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "대상 웹사이트" },
"noWebpage": { "message": "웹 페이지가 감지되지 않음" },
"modeFullTitle": { "message": "전체" },
"modeFullSub": { "message": "오프라인 번들" },
"modeDesignTitle": { "message": "디자인" },
"modeDesignSub": { "message": "토큰 추출" },
"modeInspectTitle": { "message": "검사" },
"modeInspectSub": { "message": "DOM 분석" },
"assetsToBundleLabel": { "message": "번들할 리소스" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "항상 포함" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "스타일시트 + url() 재작성" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "모든 스크립트" },
"assetImages": { "message": "이미지" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "글꼴" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "미디어" },
"assetMediaDesc": { "message": "동영상, 오디오, JSON" },
"downloadBtn": { "message": "전체 웹사이트 다운로드" },
"tabOverview": { "message": "개요" },
"tabAccessibility": { "message": "접근성" },
"tabColors": { "message": "색상" },
"tabFonts": { "message": "글꼴" },
"tabMedia": { "message": "미디어" },
"solidColors": { "message": "단색" },
"gradients": { "message": "그라디언트" },
"families": { "message": "패밀리" },
"scale": { "message": "스케일" },
"inspectMode": { "message": "검사 모드" },
"hoverOverElement": { "message": "요소 위에 마우스를 올리세요" },
"exportComponent": { "message": "컴포넌트 내보내기" },
"copyFigmaLayers": { "message": "Figma 레이어 복사" },
"copyPrompt": { "message": "재생성 프롬프트 복사" },
"downloadAuditReport": { "message": "감사 보고서 다운로드" },
"visualizeTabSeq": { "message": "탭 순서 시각화" },
"noGradientsFound": { "message": "그라디언트가 감지되지 않음" },
"noMediaFound": { "message": "미디어를 찾을 수 없음" },
"noDesignData": { "message": "디자인 데이터를 찾을 수 없음" },
"analysisComplete": { "message": "분석 완료" },
"extracting": { "message": "디자인 추출 중..." },
"scanning": { "message": "리소스 스캔 중..." },
"preparing": { "message": "준비 중..." },
"bundling": { "message": "사이트 번들 중" },
"copied": { "message": "복사됨!" },
"upgradePro": { "message": "Pro로 업그레이드 — $25" },
"upgradeLifetime": { "message": "평생 라이선스 업그레이드" },
"continueFreee": { "message": "무료 기능으로 계속" },
"hitLimit": { "message": "한도에 도달했습니다." },
"sitePalette": { "message": "사이트 팔레트" },
"freeExtractions": { "message": "무료 추출 횟수" },
"reportDownloadPro": { "message": "보고서 다운로드는 Pro 필요" },
"proActive": { "message": "Pro 평생 활성화" },
"enterLicense": { "message": "라이선스 키 입력" },
"activateLicense": { "message": "라이선스 활성화" },
"proFeature": { "message": "Pro 기능" },
"close": { "message": "닫기" },
"apply": { "message": "적용" },
"download": { "message": "다운로드" },
"style": { "message": "스타일" },
"media": { "message": "미디어" },
"openZipit": { "message": "ZipIt 열기" },
"closeZipit": { "message": "ZipIt 닫기" },
"hideButton": { "message": "ZipIt 버튼 숨기기" }
}
{
"appName": { "message": "ZipIt - Site para ZIP" },
"appDesc": { "message": "Baixe qualquer site como ZIP instantaneamente." },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "Site Alvo" },
"noWebpage": { "message": "Nenhuma página detectada" },
"modeFullTitle": { "message": "Completo" },
"modeFullSub": { "message": "Bundle Offline" },
"modeDesignTitle": { "message": "Design" },
"modeDesignSub": { "message": "Extrair Tokens" },
"modeInspectTitle": { "message": "Inspecionar" },
"modeInspectSub": { "message": "Analisar DOM" },
"assetsToBundleLabel": { "message": "Recursos para incluir" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "Sempre incluído" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "Folhas de estilo + reescrita url()" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "Todos os scripts" },
"assetImages": { "message": "Imagens" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "Fontes" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "Mídia" },
"assetMediaDesc": { "message": "Vídeo, áudio, JSON" },
"downloadBtn": { "message": "Baixar Site Completo" },
"tabOverview": { "message": "Visão Geral" },
"tabAccessibility": { "message": "Acessibilidade" },
"tabColors": { "message": "Cores" },
"tabFonts": { "message": "Fontes" },
"tabMedia": { "message": "Mídia" },
"solidColors": { "message": "Cores Sólidas" },
"gradients": { "message": "Gradientes" },
"families": { "message": "Famílias" },
"scale": { "message": "Escala" },
"inspectMode": { "message": "Modo Inspeção" },
"hoverOverElement": { "message": "Passe o cursor sobre um elemento" },
"exportComponent": { "message": "Exportar Componente" },
"copyFigmaLayers": { "message": "Copiar Camadas Figma" },
"copyPrompt": { "message": "Copiar Prompt de Regeneração" },
"downloadAuditReport": { "message": "Baixar Relatório de Auditoria" },
"visualizeTabSeq": { "message": "Visualizar Sequência de Tabulação" },
"noGradientsFound": { "message": "Nenhum gradiente detectado" },
"noMediaFound": { "message": "Nenhuma mídia encontrada" },
"noDesignData": { "message": "Nenhum dado de design encontrado" },
"analysisComplete": { "message": "Análise concluída" },
"extracting": { "message": "Extraindo Design..." },
"scanning": { "message": "Verificando recursos..." },
"preparing": { "message": "Preparando..." },
"bundling": { "message": "Empacotando site" },
"copied": { "message": "Copiado!" },
"upgradePro": { "message": "Atualizar para Pro — $25" },
"upgradeLifetime": { "message": "Atualizar para Vitalício" },
"continueFreee": { "message": "Continuar com recursos gratuitos" },
"hitLimit": { "message": "Você atingiu o limite." },
"sitePalette": { "message": "Paleta do Site" },
"freeExtractions": { "message": "Extrações Gratuitas" },
"reportDownloadPro": { "message": "Download do relatório requer Pro" },
"proActive": { "message": "Pro Vitalício Ativo" },
"enterLicense": { "message": "Inserir Chave de Licença" },
"activateLicense": { "message": "Ativar Licença" },
"proFeature": { "message": "Recurso Pro" },
"close": { "message": "Fechar" },
"apply": { "message": "Aplicar" },
"download": { "message": "Baixar" },
"style": { "message": "Estilo" },
"media": { "message": "Mídia" },
"openZipit": { "message": "Abrir ZipIt" },
"closeZipit": { "message": "Fechar ZipIt" },
"hideButton": { "message": "Ocultar botão ZipIt" }
}
{
"appName": { "message": "ZipIt - 网站转ZIP" },
"appDesc": { "message": "立即将任何网站下载为ZIP文件。" },
"headerTitle": { "message": "ZipIt" },
"targetWebsite": { "message": "目标网站" },
"noWebpage": { "message": "未检测到网页" },
"modeFullTitle": { "message": "完整" },
"modeFullSub": { "message": "离线包" },
"modeDesignTitle": { "message": "设计" },
"modeDesignSub": { "message": "提取令牌" },
"modeInspectTitle": { "message": "检查" },
"modeInspectSub": { "message": "分析DOM" },
"assetsToBundleLabel": { "message": "要打包的资源" },
"assetHtml": { "message": "HTML" },
"assetHtmlDesc": { "message": "始终包含" },
"assetCss": { "message": "CSS" },
"assetCssDesc": { "message": "样式表 + url()重写" },
"assetJs": { "message": "JavaScript" },
"assetJsDesc": { "message": "所有脚本" },
"assetImages": { "message": "图片" },
"assetImagesDesc": { "message": "PNG, JPG, SVG, WebP, GIF" },
"assetFonts": { "message": "字体" },
"assetFontsDesc": { "message": "woff2, woff, ttf, otf" },
"assetMedia": { "message": "媒体" },
"assetMediaDesc": { "message": "视频、音频、JSON" },
"downloadBtn": { "message": "下载整个网站" },
"tabOverview": { "message": "概览" },
"tabAccessibility": { "message": "无障碍" },
"tabColors": { "message": "颜色" },
"tabFonts": { "message": "字体" },
"tabMedia": { "message": "媒体" },
"solidColors": { "message": "纯色" },
"gradients": { "message": "渐变" },
"families": { "message": "字体族" },
"scale": { "message": "比例" },
"inspectMode": { "message": "检查模式" },
"hoverOverElement": { "message": "悬停在元素上" },
"exportComponent": { "message": "导出组件" },
"copyFigmaLayers": { "message": "复制Figma图层" },
"copyPrompt": { "message": "复制重生提示词" },
"downloadAuditReport": { "message": "下载审计报告" },
"visualizeTabSeq": { "message": "可视化Tab序列" },
"noGradientsFound": { "message": "未检测到渐变" },
"noMediaFound": { "message": "未找到媒体资源" },
"noDesignData": { "message": "未找到设计数据" },
"analysisComplete": { "message": "分析完成" },
"extracting": { "message": "正在提取设计..." },
"scanning": { "message": "正在扫描资源..." },
"preparing": { "message": "准备中..." },
"bundling": { "message": "正在打包网站" },
"copied": { "message": "已复制!" },
"upgradePro": { "message": "升级到Pro — $25" },
"upgradeLifetime": { "message": "升级到终身版" },
"continueFreee": { "message": "继续使用免费功能" },
"hitLimit": { "message": "您已达到限制。" },
"sitePalette": { "message": "网站调色板" },
"freeExtractions": { "message": "免费提取次数" },
"reportDownloadPro": { "message": "下载报告需要Pro" },
"proActive": { "message": "Pro终身版已激活" },
"enterLicense": { "message": "输入许可证密钥" },
"activateLicense": { "message": "激活许可证" },
"proFeature": { "message": "Pro功能" },
"close": { "message": "关闭" },
"apply": { "message": "应用" },
"download": { "message": "下载" },
"style": { "message": "样式" },
"media": { "message": "媒体" },
"openZipit": { "message": "打开ZipIt" },
"closeZipit": { "message": "关闭ZipIt" },
"hideButton": { "message": "隐藏ZipIt按钮" }
}
/* ZipIt — content.js v1.4 */
/* Floating trigger button removed. Panel opens via the extension action icon. */

Sorry, the diff of this file is too big to display

+59
-3

@@ -1,4 +0,60 @@

// ZipIt Background Script - Firefox Version
chrome.runtime.onInstalled.addListener(() => {
console.log('ZipIt Firefox Extension Installed');
/* ZipIt — background.js (Firefox) v1.4 */
function guessMime(url) {
const u = url.split('?')[0].toLowerCase();
if (u.endsWith('.svg')) return 'image/svg+xml';
if (u.endsWith('.webp')) return 'image/webp';
if (u.endsWith('.png')) return 'image/png';
if (u.endsWith('.gif')) return 'image/gif';
if (u.endsWith('.jpeg') || u.endsWith('.jpg')) return 'image/jpeg';
if (u.endsWith('.avif')) return 'image/avif';
if (u.endsWith('.ico')) return 'image/x-icon';
if (u.endsWith('.woff2')) return 'font/woff2';
if (u.endsWith('.woff')) return 'font/woff';
if (u.endsWith('.ttf')) return 'font/ttf';
return null;
}
// Action button click → toggle the Firefox sidebar open/closed
browser.action.onClicked.addListener(() => {
browser.sidebarAction.toggle();
});
browser.runtime.onMessage.addListener((msg, sender, sendResponse) => {
if (msg.type === 'fetch_asset') {
const guessedMime = guessMime(msg.url);
const doFetch = (mode) => fetch(msg.url, mode ? { mode } : {});
doFetch()
.catch(() => doFetch('no-cors'))
.then(r => {
if (msg.as_text) {
return r.text().then(text => sendResponse({ data: text }));
}
return r.blob().then(blob => {
const mime = (blob.type && blob.type !== 'application/octet-stream')
? blob.type : (guessedMime || blob.type);
const fixed = mime !== blob.type ? new Blob([blob], { type: mime }) : blob;
const reader = new FileReader();
reader.onload = () => sendResponse({ data: reader.result });
reader.onerror = () => sendResponse({ error: true });
reader.readAsDataURL(fixed);
});
})
.catch(() => sendResponse({ error: true }));
return true;
}
if (msg.type === 'ZIPIT_INSPECT_HOVER' || msg.type === 'ZIPIT_INSPECT_OFF') {
browser.runtime.sendMessage(msg).catch(() => {});
return false;
}
if (msg.type === 'ZIPIT_TOGGLE_SIDEBAR') {
browser.sidebarAction.toggle();
sendResponse({ success: true });
return false;
}
return false;
});
+14
-9
{
"manifest_version": 3,
"name": "ZipIt - Website to ZIP",
"version": "1.3",
"description": "Download any website as a ZIP file instantly.",
"name": "__MSG_appName__",
"version": "1.4",
"description": "__MSG_appDesc__",
"icons": {

@@ -16,3 +16,4 @@ "16": "icons/icon16.png",

"scripting",
"storage"
"storage",
"clipboardWrite"
],

@@ -25,9 +26,11 @@ "background": {

"sidebar_action": {
"default_title": "ZipIt",
"default_panel": "popup.html",
"default_title": "ZipIt",
"default_icon": "icons/icon48.png"
"default_icon": {
"16": "icons/icon16.png",
"48": "icons/icon48.png"
}
},
"action": {
"default_title": "Open ZipIt",
"default_popup": "popup.html",
"default_icon": {

@@ -43,10 +46,12 @@ "16": "icons/icon16.png",

"homepage_url": "https://zipit.blintix.store/",
"default_locale": "en",
"browser_specific_settings": {
"gecko": {
"id": "zipit@blintix.store",
"strict_min_version": "142.0",
"strict_min_version": "140.0",
"data_collection_permissions": {
"required": [
"none"
]
],
"optional": []
}

@@ -53,0 +58,0 @@ }

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ZipIt | Component Playground</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--bg: #050505;
--panel: #0d0d0d;
--border: rgba(255, 255, 255, 0.08);
--text: #ffffff;
--muted: #a1a1a6;
--accent: #ff5c1a;
--green: #22c55e;
--blue: #3b82f6;
}
body {
font-family: 'Geist', -apple-system, sans-serif;
background: var(--bg);
color: var(--text);
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
/* Glass Effect */
.glass {
background: rgba(255, 255, 255, 0.02);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border);
}
/* Header */
.header {
height: 64px;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
flex-shrink: 0;
z-index: 10;
}
.logo {
display: flex;
align-items: center;
gap: 12px;
}
.logo-icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.logo-name {
font-weight: 700;
font-size: 18px;
letter-spacing: -0.5px;
}
.logo-accent {
color: var(--accent);
}
.header-actions {
display: flex;
align-items: center;
gap: 16px;
}
.badge-pro {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
padding: 4px 10px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid var(--border);
border-radius: 99px;
color: var(--muted);
}
.btn-render {
background: var(--accent);
color: #fff;
border: none;
padding: 10px 20px;
border-radius: 12px;
font-size: 14px;
font-weight: 700;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 15px rgba(255, 92, 26, 0.3);
}
.btn-render:hover {
transform: translateY(-1px);
box-shadow: 0 8px 25px rgba(255, 92, 26, 0.4);
filter: brightness(1.1);
}
.btn-render:active {
transform: translateY(1px);
}
/* Main Workspace */
.workspace {
flex: 1;
display: flex;
min-height: 0;
}
/* Editor Section */
.editor-section {
flex: 1;
display: flex;
flex-direction: column;
border-right: 1px solid var(--border);
background: var(--panel);
}
.section-header {
height: 40px;
padding: 0 16px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid var(--border);
background: rgba(255, 255, 255, 0.02);
}
.header-label {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
color: var(--muted);
}
.btn-clear {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
color: #ef4444;
background: none;
border: none;
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s;
}
.btn-clear:hover {
opacity: 1;
}
#codeEditor {
flex: 1;
background: transparent;
border: none;
padding: 24px;
color: #3b82f6;
font-family: 'Courier New', Courier, monospace;
font-size: 14px;
line-height: 1.6;
resize: none;
outline: none;
scrollbar-width: thin;
scrollbar-color: var(--border) transparent;
}
/* Preview Section */
.preview-section {
flex: 1;
display: flex;
flex-direction: column;
background: #f3f4f6;
}
.preview-header {
height: 40px;
padding: 0 16px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
background: #fdfdfd;
}
.preview-label {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
color: #94a3b8;
}
.window-dots {
display: flex;
gap: 6px;
}
.dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #e2e8f0;
}
.preview-frame-container {
flex: 1;
position: relative;
background: #e2e8f0;
padding: 1px;
}
#previewContent {
width: 100%;
height: 100%;
border: none;
background: white;
box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.05);
}
/* Toast */
#toast {
position: fixed;
bottom: 32px;
left: 50%;
transform: translateX(-50%) translateY(20px);
background: rgba(0, 0, 0, 0.8);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--border);
padding: 12px 24px;
border-radius: 99px;
display: flex;
align-items: center;
gap: 12px;
opacity: 0;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
z-index: 1000;
}
#toast.visible {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
.toast-dot {
width: 8px;
height: 8px;
background: var(--green);
border-radius: 50%;
box-shadow: 0 0 10px var(--green);
}
.toast-text {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
color: white;
}
/* Scrollbar */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--border);
border-radius: 10px;
}
</style>
</head>
<body>
<!-- Header -->
<header class="header glass">
<div class="logo">
<div class="logo-icon">
<svg width="28" height="28" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="logo-grad" x1="0" y1="0" x2="100" y2="100">
<stop offset="0%" stop-color="#FF7A00" />
<stop offset="100%" stop-color="#FF3D00" />
</linearGradient>
</defs>
<rect width="100" height="100" rx="24" fill="url(#logo-grad)" />
<circle cx="50" cy="50" r="32" fill="white" fill-opacity="0.15" />
<path d="M56 18L28 55H48L42 82L72 45H52L56 18Z" fill="white" />
</svg>
</div>
<div class="logo-name">ZipIt <span class="logo-accent">Playground</span></div>
</div>
<div class="header-actions">
<span class="badge-pro">System Sync Pro 2.0</span>
<button class="btn-render" onclick="renderCode()">
<span>🚀 Render Component</span>
</button>
</div>
</header>
<!-- Workspace -->
<main class="workspace">
<!-- Editor -->
<section class="editor-section">
<div class="section-header">
<span class="header-label">Paste AI HTML / Tailwind Code</span>
<button class="btn-clear" onclick="clearEditor()">Clear</button>
</div>
<textarea id="codeEditor" spellcheck="false" placeholder="<!-- Paste your code here... -->"></textarea>
</section>
<!-- Preview -->
<section class="preview-section">
<div class="preview-header">
<span class="preview-label">Live Production Preview</span>
<div class="window-dots">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
</div>
<div class="preview-frame-container">
<iframe id="previewContent"></iframe>
</div>
</section>
</main>
<!-- Toast -->
<div id="toast">
<div class="toast-dot"></div>
<span class="toast-text">Ready for System Sync! Open ZipIt to Copy.</span>
</div>
<script src="playground.js"></script>
</body>
</html>
let currentObjectURL = null;
function renderCode() {
const code = document.getElementById('codeEditor').value.trim();
if (!code) return;
const preview = document.getElementById('previewContent');
let finalContent = '';
const isFullDoc = code.toLowerCase().includes('<head') || code.toLowerCase().includes('<body');
if (!isFullDoc) {
finalContent = `
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.tailwindcss.com?plugins=forms,typography"><\/script>
<link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Geist', sans-serif;
margin: 0;
padding: 24px;
background: #fff;
min-height: 100vh;
color: #111;
}
* { transition: all 0.2s ease-in-out; }
</style>
</head>
<body>
${code}
</body>
</html>
`;
} else {
finalContent = code;
if (!code.toLowerCase().includes('tailwindcss.com')) {
finalContent = code.replace('</head>', '<script src="https://cdn.tailwindcss.com?plugins=forms,typography"><\/script></head>');
}
}
if (currentObjectURL) {
URL.revokeObjectURL(currentObjectURL);
}
const blob = new Blob([finalContent], { type: 'text/html' });
currentObjectURL = URL.createObjectURL(blob);
preview.src = currentObjectURL;
showToast();
}
function clearEditor() {
document.getElementById('codeEditor').value = '';
document.getElementById('previewContent').src = '';
}
function showToast() {
const toast = document.getElementById('toast');
toast.classList.add('visible');
setTimeout(() => {
toast.classList.remove('visible');
}, 2000);
}
// Support for Tab key
const editor = document.getElementById('codeEditor');
if (editor) {
editor.addEventListener('keydown', function (e) {
if (e.key === 'Tab') {
e.preventDefault();
var start = this.selectionStart;
var end = this.selectionEnd;
this.value = this.value.substring(0, start) + " " + this.value.substring(end);
this.selectionStart = this.selectionEnd = start + 2;
}
});
const renderBtn = document.querySelector('.btn-render');
if (renderBtn) {
renderBtn.addEventListener('click', renderCode);
}
editor.addEventListener('paste', () => setTimeout(renderCode, 150));
if (editor.value) renderCode();
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display