• स्थिर साइट पर भी Bluesky API का उपयोग करके कमेंट दिखाने के लिए एक कार्यान्वयन का उदाहरण
  • क्योंकि Bluesky account authentication, spam management, storage, moderation संभालता है, इसलिए अलग सर्वर बनाए रखने की ज़रूरत नहीं
  • यह कार्यान्वयन लगभग 200 lines of TypeScript code से बना है और @bluesky/api तथा Tanstack react-query का उपयोग करता है
  • कमेंट read-only रूप में दिखाए जाते हैं, और हर ब्लॉग पोस्ट के metadata में Bluesky post ID जोड़कर उन्हें अपने-आप लोड किया जाता है
  • यह open social platform और static blog के संयोजन की संभावना दिखाने वाला एक प्रयोगात्मक कार्यान्वयन है

Bluesky कमेंट सेक्शन लागू करने की पृष्ठभूमि

  • शुरुआत इस बात से हुई कि static generation site पर कमेंट फीचर को सीधे host करना कठिन है
    • CDN पर deploy की गई static content में dynamic data store करना संभव नहीं
    • अलग VPS या cloud service चलाने पर लागत और management का बोझ बढ़ता है
  • Bluesky एक public API और AT protocol आधारित open platform है, जो कमेंट प्रबंधन के लिए ज़रूरी सुविधाएँ पहले से देता है
    • account authentication, spam filtering, storage, moderation को Bluesky संभालता है
    • ब्लॉग की ओर से सिर्फ API call करके कमेंट दिखाने होते हैं

दूसरे विकल्प और Bluesky चुनने का कारण

  • Twitter, Disqus, giscus (GitHub Discussions आधारित) जैसे विकल्पों पर भी विचार किया गया
  • Bluesky decentralized AT protocol पर बना है, इसलिए किसी एक कंपनी के नियंत्रण का जोखिम कम है
  • GitHub आधारित विकल्पों की तुलना में यह conversation-centric platform होने के कारण कमेंट hosting के लिए अधिक उपयुक्त है

कार्यान्वयन का तरीका

  • Cory Zue द्वारा प्रकाशित bluesky-comments package को संदर्भ के रूप में देखा गया, लेकिन सीधे खुद लागू करने का निर्णय लिया गया
    • साइट की शैली के अनुसार customization और भविष्य की extensibility के लिए अपना कोड लिखा गया
    • पूरा कार्यान्वयन UI component और API function सहित लगभग 200 lines का है
  • शुरुआत में OAuth के माध्यम से direct posting feature पर भी विचार किया गया, लेकिन UI की जटिलता और समय की कमी के कारण इसे हटा दिया गया
    • परिणामस्वरूप केवल read-only comment display feature लागू किया गया

तकनीकी संरचना

  • साइट React Server Components और Parcel का उपयोग करके बनाई गई है
    • content MDX में लिखा गया है, इसलिए JavaScript/JSX को सीधे शामिल किया जा सकता है
    • हर पोस्ट के metadata object में bskyPostId शामिल करके उसे Bluesky पोस्ट से जोड़ा गया है
  • Bluesky TypeScript SDK (@bluesky/api) का उपयोग करके getPostThread endpoint से कमेंट thread data प्राप्त किया जाता है
  • API request को Tanstack react-query से manage किया गया है
    • error, loading, retry state अपने-आप संभाले जाते हैं

UI डिज़ाइन

  • Bluesky response से सिर्फ text content निकालकर एक सरल कमेंट UI में दिखाया जाता है
  • thread structure को indentation और बाईं ओर की border line से अलग किया जाता है
    • profile image और post date का डिज़ाइन Bluesky से प्रेरित है
  • ऊपर मूल Bluesky पोस्ट पर जाने का लिंक जोड़ा गया है ताकि conversation participation को प्रोत्साहन मिले
  • कमेंट लिखने की सुविधा नहीं है; उपयोगकर्ता Bluesky पर सीधे reply छोड़ते हैं

आगे की संभावनाएँ

  • आवश्यकता होने पर इस कार्यान्वयन को independent package के रूप में जारी किया जा सकता है
    • हालांकि मौजूदा कोड अभी व्यक्तिगत साइट के अनुरूप है
    • संरचना सरल होने के कारण दूसरे डेवलपर भी source code देखकर इसे आसानी से लागू कर सकते हैं
  • Bluesky कमेंट एकीकरण से ब्लॉग की engagement बढ़ेगी या नहीं, यह अभी स्पष्ट नहीं है

Bluesky उपयोगकर्ताओं की प्रतिक्रिया

  • कई Bluesky उपयोगकर्ताओं ने कमेंट में “अच्छा आइडिया”, “तेज़ response speed”, “Disqus के विकल्प के रूप में उपयुक्त” जैसी सकारात्मक प्रतिक्रियाएँ दीं
  • कुछ लोगों ने spam management, nested comment handling, attachment support आदि पर सवाल उठाए
  • लेखक ने समझाया कि Bluesky की personal moderation feature के ज़रिए कुछ कमेंट छिपाए जा सकते हैं

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

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