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

Diffuse एक संगीत प्लेयर है जो क्लाउड और वितरित स्टोरेज से जुड़ता है। इसे फ्रेमवर्क-अज्ञेय कस्टम DOM तत्वों (वेब कंपोनेंट्स) के संग्रह के रूप में बनाया गया है जो डेवलपर्स को ऑडियो प्लेयर असेंबल करने, ऑडियो मेटाडेटा को प्रोसेस और ब्राउज़ करने, विभिन्न स्रोतों, APIs और सर्वरों से ऑडियो फ़ाइलें और स्ट्रीम सूचीबद्ध करने, और यह परिभाषित करने की अनुमति देते हैं कि उपयोगकर्ता डेटा कैसे सहेजा या सिंक किया जाता है। परियोजना के प्रमुख भाग: - कस्टम तत्व: प्लेयर, मेटाडेटा हैंडलिंग, स्रोत सूची और उपयोगकर्ता-डेटा स्थिरता के लिए पुन: प्रयोज्य वेब कंपोनेंट्स। - HTML लोडर: स्थानीय उपयोगकर्ता-डेटा कैश, डिफ़ॉल्ट Diffuse सेट, HTTP(S) URLs, या AT प्रोटोकॉल URIs से "इंटरफेस" लोड करता है। इंटरफेस को वैकल्पिक "फीचर्स" प्राप्त होते हैं जिन्हें फेसेट्स कहा जाता है, जो स्थानीय कैश से भी लोड होते हैं। - फाउंडेशन: डिफ़ॉल्ट फेसेट्स में उपयोग किए जाने वाले कस्टम तत्वों का एक डिफ़ॉल्ट कॉन्फ़िगरेशन। तत्व `group` विशेषता के माध्यम से टैब और फ्रेम में संवाद कर सकते हैं। - लेक्सिकॉन: atproto लेक्सिकॉन के रूप में डेटा स्कीमा, `lexicons` निर्देशिका में संग्रहीत। लक्ष्य सहकारी, लचीला सॉफ्टवेयर है। अधिक विवरण परियोजना वेबसाइट पर हैं। डेवलपर उपयोग: लाइब्रेरी को या तो तैनात इंस्टेंस के माध्यम से (तत्व JavaScript फ़ाइलों से लिंक करते हैं) या JSR पर JavaScript पैकेज के माध्यम से उपभोग किया जा सकता है। कस्टम तत्वों का उपयोग किसी भी अन्य DOM तत्व की तरह किया जाता है, या तो HTML में या क्लास को इंस्टैंशिएट करके। एक उदाहरण क्यू इंजन तत्व को स्क्रिप्ट टैग के माध्यम से लोड करना या इसे आयात करके `group` विशेषता के साथ दस्तावेज़ बॉडी में जोड़ना दिखाता है। स्रोत से निर्माण के लिए Deno की आवश्यकता होती है। कमांड में प्रकार परिभाषाएँ उत्पन्न करना, निर्माण करना और सेवा करना शामिल है। स्टैक में Deno, वेब कंपोनेंट्स, वेब वर्कर्स (साझा और सेवा वर्कर्स), सिग्नल (वर्तमान में alien-signals, TC39 प्रस्ताव की उम्मीद के साथ), lit-html, music-metadata, Lume और ESBuild शामिल हैं।