इस प्रोजेक्ट के बारे में

Zinnia, 7-Zip आर्काइव हैंडलिंग के लिए एक ग्राफिकल फ्रंट एंड है, जिसे Tauri के साथ बनाया गया है और Windows, macOS और Linux के लिए वितरित किया गया है। README इसे एक डेस्कटॉप आर्काइवर के रूप में प्रस्तुत करता है जो कमांड लाइन के बजाय एक नेटिव GUI के माध्यम से संचालित होता है, जिसमें पैकेजिंग और इंस्टॉलर कार्य का उद्देश्य आर्काइव ऑपरेशन्स को ऑपरेटिंग सिस्टम से ही सुलभ बनाना है। README में बताए गए प्लेटफॉर्म सपोर्ट: macOS 26 या उसके बाद के संस्करण, जिसमें Intel और Apple silicon मशीनों के लिए एक यूनिवर्सल बिल्ड शामिल है; Windows 10 वर्जन 2004 (बिल्ड 19041) या उसके बाद का x64 या ARM64; और Ubuntu 24.04+, Debian 13+ या Fedora 43+ (या आवश्यक WebKitGTK रनटाइम वाले संगत वितरण) पर Linux x64। सार्वजनिक Linux रिलीज़ x64 AppImage, DEB, RPM और साइडलोडेड Flatpak बंडल प्रदान करते हैं, जबकि ARM64 AppImage/DEB/RPM केवल तभी प्रकाशित किए जाते हैं जब उन्हें विशेष रूप से किसी रिलीज़ के लिए बनाया जाता है, और Flatpak x64 ही रहता है। एक महत्वपूर्ण ध्यान ऑपरेटिंग सिस्टम एकीकरण पर है। पैकेज्ड बिल्ड्स सामान्य आर्काइव फ़ाइल प्रकारों को रजिस्टर करते हैं। Windows पर, NSIS बिल्ड्स एक क्लासिक फॉलबैक के रूप में "Open with Zinnia", "Extract with Zinnia" और "Compress with Zinnia" के लिए प्रति-उपयोगकर्ता Explorer वर्ब्स जोड़ते हैं, जिसमें Explorer के "Show more options" के माध्यम से पथ शामिल है। साइन्ड Windows NSIS बिल्ड्स एक स्पार्स आइडेंटिटी MSIX और zinnia_shell.dll के माध्यम से Windows 11 मॉडर्न कॉन्टेक्स्ट मेनू को भी रजिस्टर करते हैं, जो आर्काइव्स पर एक Zinnia सबमेनू और एक टॉप-लेवल Extract एंट्री प्रदान करता है; एक बार मॉडर्न रजिस्ट्रेशन सफल होने के बाद, स्टैकिंग से बचने के लिए क्लासिक वर्ब्स हटा दिए जाते हैं, और यदि पैकेज रजिस्ट्रेशन विफल हो जाता है तो वे फॉलबैक बने रहते हैं। README नोट करता है कि Zinnia एक सामान्य प्रति-उपयोगकर्ता NSIS Win32 इंस्टॉलेशन रहता है और MSIX कोई Store/AppX ऐप पैकेज नहीं है, बल्कि केवल पैकेज आइडेंटिटी प्रदान करता है ताकि Explorer शेल DLL को लोड कर सके। Linux पर, deb, rpm और Flatpak बंडल में डेस्कटॉप Open, Extract और Compress एक्शन शामिल हैं। macOS पर, उपयोगकर्ता Finder के Open With/Get Info डिफॉल्ट-ऐप फ्लो के माध्यम से Zinnia चुन सकते हैं, और आर्काइव लॉन्च एक क्विक एक्सट्रैक्ट विंडो पर रूट किए जाते हैं। पैकेज्ड बिल्ड्स Finder Sync कॉन्टेक्स्ट-मेनू आइटम और "Extract with Zinnia" एवं "Compress with Zinnia" के लिए Finder Services को भी एक्सपोज़ करते हैं; Finder Sync केवल डेस्कटॉप, डॉक्यूमेंट्स, डाउनलोड्स, मूवीज, म्यूजिक, पिक्चर्स और वर्तमान में माउंट किए गए वॉल्यूम की निगरानी करता है, जबकि अन्य फाइलों के लिए Finder Services का सुझाव दिया गया है। डेवलपमेंट निर्देश एक Tauri प्रोजेक्ट के लिए पारंपरिक हैं: npm install, npm run tauri:dev, और src-tauri/Cargo.toml के विरुद्ध cargo doc। डायरेक्ट Cargo कमांड बिना किसी अलग तैयारी के चरण के काम करते हैं क्योंकि Tauri बिल्ड स्क्रिप्ट नेटिव बिल्ड चलने से पहले ट्रैक किए गए एसेट्स से इग्नोर किए गए साइडकार बाइनरीज को रिफ्रेश करती है। बिल्ड स्क्रिप्ट्स प्लेटफॉर्म के अनुसार नामित हैं: build:win, build:mac:universal जिसके बाद build:mac:zip, build:linux (या build:linux:x64), नेटिव ARM64 वातावरण के लिए build:linux:arm64, और flatpak:bundle। GPG स्क्रिप्ट के माध्यम से रिलीज़ साइनिंग उपलब्ध है। README अपडेट और रिलीज़ प्रक्रिया का भी विस्तार से दस्तावेजीकरण करता है: अपडेटर को src-tauri/tauri.conf.json में कॉन्फ़िगर किया गया है; CI Linux, Windows और macOS पर टेस्ट और चेक चलाता है लेकिन कभी भी रिलीज़ बाइनरीज नहीं बनाता, रिलीज़ प्रकाशित नहीं करता या रिलीज़ साइनिंग सीक्रेट्स का उपयोग नहीं करता। साइन्ड रिलीज़ जानबूझकर स्पष्ट रखे गए हैं, जिसमें प्लेटफॉर्म-विशिष्ट रिलीज़ स्क्रिप्ट्स उसी वर्जन के लिए ड्राफ्ट GitHub रिलीज़ में अपडेटर मेनिफेस्ट, आर्टिफैक्ट्स, चेकसम फ़ाइलें और डिटैच्ड सिग्नेचर को स्टेज करती हैं। बीटा निरंतरता स्क्रिप्ट्स एक VM के बीटा मेनिफेस्ट्स को नवीनतम स्टेबल रिलीज़ फीड पर ऑटो-सिंक करती हैं, जिसमें तब भी शामिल है जब कोई टैग अभी भी ड्राफ्ट हो, क्योंकि बीटा क्लाइंट लाइव फीड को पोल करते हैं; रिकवरी के लिए एक अलग सिंक स्क्रिप्ट मौजूद है। ड्राफ्ट्स और प्रकाशित रिलीज़ के लिए वेरिफिकेशन स्टेप्स प्रदान किए गए हैं, जो अपेक्षित टारगेट मैट्रिक्स, वर्जन और अपडेटर आर्टिफैक्ट सिग्नेचर और चेकसम की जांच करते हैं। GitHub के अस्थायी अनटैग्ड ड्राफ्ट आइडेंटिफायर्स को संभालने, एक विशिष्ट कमिट, लॉकफाइल्स, प्लेटफॉर्म, आर्किटेक्चर और टूलचेन से बंधे मौजूदा रिलीज़ तैयारी सत्र को फिर से शुरू करने, और वर्जन प्रोपेगेशन स्क्रिप्ट्स पर मार्गदर्शन शामिल है जो पैकेज वर्जन को नेटिव मेनिफेस्ट, चेंजलॉग डाउनलोड URL और AppStream मेटाडेटा में कॉपी करते हैं। README इस चेतावनी के साथ समाप्त होता है कि हर प्लेटफॉर्म आर्टिफैक्ट के मौजूद होने और उसके अपडेटर सिग्नेचर और चेकसम के सत्यापित होने से पहले रिलीज़ टैग पुश न करें। अतिरिक्त प्रोजेक्ट दस्तावेज़ ARCHITECTURE.md, CONTRIBUTING.md और SECURITY.md के माध्यम से संदर्भित हैं, साथ ही रिपॉजिटरी में Windows शेल और QA कॉन्टेक्स्ट-मेनू नोट्स भी हैं।