• पुराने टिप्पणी सिस्टम (Disqus, सेल्फ-होस्टेड, GitHub Issues आदि) को हमने स्पीड, ट्रैकिंग, मेंटेनेंस ओवरहेड और यूज़र लिमिट जैसी समस्याओं की वजह से इस्तेमाल नहीं किया
  • Bluesky में इन्फ्रास्ट्रक्चर मेंटेन करने की जरूरत नहीं, रिच कंटेंट सपोर्ट, रियल-नेम आधारित अकाउंट, क्रॉस-प्लेटफॉर्म चैट संभव होने के कारण यह ब्लॉग टिप्पणियों के लिए उपयुक्त है
  • इम्प्लीमेंटेशन की प्रक्रिया: ब्लॉग पोस्ट प्रकाशित करें → Bluesky पर शेयर करें → पोस्ट के AT URI को ब्लॉग पोस्ट के metadata में जोड़ें → उसी पोस्ट का टिप्पणी थ्रेड लाकर दिखाएं
  • टिप्पणियों के लिए तीन प्रकार के कंपोनेंट रखे: सभी टिप्पणियाँ दिखाने वाला, individual टिप्पणी + रेस्पॉन्स दिखाने वाला, image/link आदि embed को हैंडल करने वाला
  • recursive तरीके से अधिकतम 5-लेवल रेस्पॉन्स दिखाए जाते हैं, साथ में image grid, modal, लिंक कार्ड; असपोर्टेड embed के लिए fallback टेक्स्ट दिखाया जाता है
  • Astro + React इंटीग्रेशन, client:load के साथ क्लाइंट साइड पर लोडिंग, frontmatter में DID और postCid जोड़ने से टिप्पणी सक्षम हो जाती है
  • टाइप सुरक्षा के लिए @atcute/client TypeScript टाइप का उपयोग, JavaScript डिसेबल होने पर भी बॉडी कंटेंट सही से दिखाने वाली प्रोग्रेसिव एन्हांसमेंट स्ट्रक्चर
  • बिना server और DB के, Bluesky API और CDN का उपयोग करके performance बेहतर रखा
  • यह तरीका social फीचर्स को प्रत्येक साइट पर फिर से बनाने के बजाय, यूज़र के पहले से उपयोग किए जा रहे प्लेटफ़ॉर्म से कनेक्ट करके scalability और independence देता है

Bluesky को टिप्पणी सिस्टम के रूप में चुनने के कारण

  • इन्फ्रास्ट्रक्चर मेंटेन करने की जरूरत नहीं
  • image/link/quote पोस्ट जैसे rich कंटेंट का सपोर्ट
  • Bluesky अकाउंट आधारित भरोसेमंद और जिम्मेदार व्यवहार
  • ब्लॉग और social media के बीच traffic का आपस में आदान-प्रदान
  • कंटेंट ownership अलग-अलग: ब्लॉग पोस्ट आपका, टिप्पणियाँ संबंधित लेखक की

AT Protocol को समझना

  • DID: Decentralized user identifier
  • CID: Content identifier
  • AT URI: at://did:.../app.bsky.feed.post/... फॉर्मेट वाला पता
  • getPostThread API call से टिप्पणी थ्रेड ला सकते हैं, authentication की जरूरत नहीं

कंपोनेंट स्ट्रक्चर

  • मुख्य टिप्पणी कंपोनेंट
  • individual टिप्पणी + नेस्टेड टिप्पणी render करने वाला कंपोनेंट
  • image/link आदि embed संभालने वाला कंपोनेंट

नेस्टेड टिप्पणी हैंडलिंग

  • recursive rendering, अधिकतम depth 5 की सीमा
  • hierarchy दिखाने के लिए visual indentation

रिच कंटेंट हैंडलिंग

  • image: CDN सपोर्ट, multi-image grid और modal view
  • external link: thumbnail और description वाला card render
  • अन्य embeds: fallback टेक्स्ट प्रदर्शित

Astro इंटीग्रेशन

  • React कंपोनेंट + client:load का उपयोग
  • frontmatter में Bluesky DID, postCid जोड़ने पर टिप्पणियाँ सक्षम हो जाती हैं

डेवलपमेंट एक्सपीरियंस

  • TypeScript टाइप सपोर्ट से stability बेहतर हुई
  • Progressive Enhancement के कारण API issue होने पर भी पोस्ट body पर कोई असर नहीं
  • बिना server/DB load के Bluesky infra का उपयोग

निष्कर्ष

  • पुराने टिप्पणी सिस्टम की समस्याओं से बचकर, यूज़र के पहले से मौजूद प्लेटफ़ॉर्म से connect करते हैं
  • Bluesky के साथ grow होने पर भागीदारी बढ़ने की संभावना
  • ATProto आधारित होने से अन्य AppView या custom implementation पर migrate करना आसान

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.