
भाषा 🇮🇳 हिन्दी
पृष्ठभूमि
API
एक्सटेंशन लिखना
एक्सटेंशन विकसित करना
संदर्भ
FastComments हमारी मुख्य कार्यक्षमता को स्क्रिप्ट्स के माध्यम से बढ़ाने की क्षमता प्रदान करता है, जिन्हें हम एक्सटेंशन कहते हैं।
एक Extension कमेंट विजेट में अतिरिक्त मार्कअप, इवेंट लिसनर्स जोड़ सकता है, और मनमाना कोड चला सकता है।
यहाँ आपको हमारे प्रोडक्शन में उपयोग किए जाने वाले एक्सटेंशन के उदाहरण मिलेंगे, साथ ही एक्सटेंशन लिखने के तरीके पर दस्तावेज़ीकरण भी मिलेगा।
एक्सटेंशन लाइफसाइकल 
प्रत्येक एक्सटेंशन के लिए स्क्रिप्ट को कमेंट विजेट द्वारा पहले सेट की गई कमेंट्स को फ़ेच करने और UI रेंडर करने से पहले फ़ेच और इनवोक किया जाता है।
प्रारंभिक लोड पर, निम्नलिखित डेटा एक्सटेंशन ऑब्जेक्ट पर टैग किया जाएगा:
config-configऑब्जेक्ट का एक संदर्भ।translations-translationsऑब्जेक्ट का एक संदर्भ।commentsById- आईडी के अनुसार सभी कमेंट्स का एक संदर्भ।root- रूट DOM नोड का एक संदर्भ।
एक्सटेंशन को वांछित फ़ंक्शंस को ओवरराइड करना चाहिए, जिन्हें कमेंट विजेट उचित समय पर इनवोक करेगा।
एक्सटेंशन की परिभाषा 
सबसे छोटा संभव एक्सटेंशन इस प्रकार होगा:
Run 
इस उदाहरण के लिए, इसे my-extension.js के रूप में सेव करें, और इसे https://example.com/my-extension.min.js पर उपलब्ध कराएं।
यह एक्सटेंशन कुछ नहीं करता, सिवाय इसके कि लोड होने पर यह कोर कमेंट लाइब्रेरी द्वारा बनाए गए एक्सटेंशन ऑब्जेक्ट को फ़ेच करता है।
यह Extension ऑब्जेक्ट एक सिंगलटन है और किसी अन्य एक्सटेंशन के साथ साझा नहीं किया जाता।
अगला, अपना एक्सटेंशन लोड करने के लिए, हमें कमेंट विजेट को इसके बारे में बताना होगा। उदाहरण के लिए:
Run 
कार्यात्मक उदाहरणों के लिए, अगला अनुभाग देखें।
उदाहरण एक्सटेंशन 
FastComments पर हम अपने एक्सटेंशन स्वयं लिखते हैं, उसी API का उपयोग करके। आप इन एक्सटेंशन का अनमिनिफाइड कोड निम्नलिखित एंडपॉइंट्स पर देख सकते हैं:
डार्क मोड
डार्क मोड एक्सटेंशन शर्त के अनुसार लोड होता है जब एक "dark" पेज पहचाना जाता है। यह एक्सटेंशन केवल कमेंट विजेट में कुछ CSS जोड़ता है। इस तरह हमें डार्क मोड CSS तब लोड नहीं करना पड़ता जब उसकी आवश्यकता नहीं होती।
https://fastcomments.com/js/comment-ui/extensions/comment-ui.dark.extension.js
मॉडरेशन
जब वर्तमान उपयोगकर्ता एक मॉडरेटर होता है, तो हम मॉडरेशन एक्सटेंशन का उपयोग करते हैं।
यह क्लिक-आधारित इवेंट लिसनर जोड़ने, API अनुरोध करने, और कमेंट मेनू तथा कमेंट एरिया में जोड़ने के लिए एक अच्छा उदाहरण है।
https://fastcomments.com/js/comment-ui/extensions/comment-ui.moderation.extension.js
लाइव चैट
लाइव चैट एक्सटेंशन (अन्य कॉन्फ़िगरेशन और स्टाइलिंग के संयोजन में) कमेंट विजेट को एक लाइव चैट कंपोनेंट में बदल देता है।
https://fastcomments.com/js/comment-ui/extensions/live-chat.extension.js
एक्सटेंशन ऑब्जेक्ट 
एक्सटेंशन ऑब्जेक्ट निम्नलिखित परिभाषा से मिलकर बना है:
Run 
एक्सटेंशन API 
Extension के साथ इंटरैक्ट करना सरल है, क्योंकि हम केवल उन फ़ंक्शनों के संदर्भ परिभाषित करते हैं जिन्हें हम इनवोक होना चाहते हैं।
पिछले उदाहरण को आगे बढ़ाते हुए, मान लीजिए हम प्रत्येक कमेंट के शीर्ष पर HTML जोड़ना चाहते हैं:
Run 
जब भी आप इस तरह HTML रिटर्न करते हैं, यह एक dom-diffing एल्गोरिद्म के माध्यम से UI में मर्ज हो जाएगा।
किसी कमेंट का पुनः रेंडर मैन्युअली ट्रिगर करना
हम प्रारंभिक पेज लोड का इंतज़ार कर सकते हैं और reRenderComment को इनवोक करके किसी कमेंट को मैन्युअली पुनः रेंडर कर सकते हैं:
Run 