4 पॉइंट द्वारा GN⁺ 2026-01-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • स्थिर साइट पर भी 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 के ज़रिए कुछ कमेंट छिपाए जा सकते हैं

1 टिप्पणियां

 
GN⁺ 2026-01-25
Hacker News की राय
  • अगर आप अपने ब्लॉग या वेबसाइट को static site generator से render करते हैं, तो comments को content files के रूप में लाकर build process में शामिल करने का तरीका सुझाया गया

    1. email, CGI script, server program आदि से comments इकट्ठा करें
    2. उन्हें manually review करके spam हटाएँ
    3. comments को .md या .html file में save करें
    4. और site build के समय साथ में render करें
      यह प्रक्रिया मेहनत-भरी है, लेकिन spam रोकने और data पर पूरा ownership होने का फायदा देती है
    • मैंने भी ऐसा ही एक system email-based तरीके से बनाया है। विस्तार से मेरे ब्लॉग पोस्ट में लिखा है
    • छोटी वेबसाइटों के लिए, जहाँ रोज़ सिर्फ कुछ ही comments आते हैं, manual review पूरी तरह संभव है। साथ ही Markdown files को auto-update करके इसे आसानी से automate भी किया जा सकता है
    • एक व्यक्ति ने मज़ाक में कहा, “मैं तो comments सिर्फ fax से लेता हूँ ;)”
    • किसी ने जवाब दिया, “यह बहुत भयानक लग रहा है,” और इसे inefficient बताया
  • अगर आप React इस्तेमाल नहीं करना चाहते, तो मेरे बनाए Bluesky comments web component को देख सकते हैं
    इसे GitHub repository और theme playground में देखा जा सकता है।
    इसमें theme customization बहुत आसान है

  • मूल पोस्ट के विचार से प्रेरित होकर किसी ने इसे Mastodon-आधारित comment system के रूप में बनाया
    अधिक जानकारी मेरे ब्लॉग पोस्ट में देखी जा सकती है

  • EU के hate speech से जुड़े क़ानूनों की वजह से यह बात कही जाती है कि अगर site operator comments filter नहीं करता, तो उसे सज़ा मिल सकती है; कोई जानना चाहता था कि हक़ीक़त में यह कितना सही है
    इसी कारण मैंने comments feature पूरी तरह बंद कर दिया

    • मैं क़ानूनी विशेषज्ञ नहीं हूँ, लेकिन इस तरह के जोखिम अक्सर राजनीतिक मंशा से बढ़ा-चढ़ाकर पेश किए जाते हैं। EU क़ानून site के आकार और उद्देश्य को ध्यान में रखते हैं। किसी छोटे personal site को दंडित किए जाने का उदाहरण मैंने नहीं सुना
    • Bluesky का moderation labeler इस्तेमाल करके pre-filtering की जा सकती है। EU मानकों के हिसाब से बना हुआ कुछ नहीं है, लेकिन आप अपना labeler बनाकर सिर्फ problematic comments को filter कर सकते हैं
    • क़ानून से पहले भी, मैं अपने नाम वाली site पर hate speech नहीं देखना चाहता
  • मेरा ब्लॉग पूरी तरह static structure पर है, और 50-line Cloudflare Worker script comments लेकर सीधे Markdown में जोड़ देती है।
    comments feature embed किए बिना भी यह किया जा सकता है

    • comments को Pull Request में auto-commit करने के तरीके से, PR को comment review tool की तरह इस्तेमाल करना मज़ेदार हो सकता है
    • किसी ने मज़ाक किया, “अगर वह सचमुच ColdFusion हो तो और भी शानदार होगा”
    • एक व्यक्ति ने पूछा, “क्या आप link या implementation details साझा कर सकते हैं?”
  • Bluesky API का उपयोग करके, किसी खास ब्लॉग link वाला पहला post अपने-आप खोजकर उसे comments से जोड़ने जैसी automation भी की जा सकती है

  • यह Bluesky की growth में भी मदद कर सकता है, इसलिए मैंने test के लिए एक account बनाया। यह काफ़ी मज़ेदार growth hacking idea लगता है

    • लेकिन मेरा मानना है कि for-profit social networks आख़िरकार Twitter जैसे ही बन जाते हैं।
      आदर्श रूप में self-hosted या Fediverse-आधारित comment system ज़्यादा टिकाऊ होगा
    • कुछ लोगों का यह भी मानना है कि सिर्फ “हम वह दूसरा platform नहीं हैं” जैसा संदेश देकर सफलता पाना मुश्किल है
  • मेरा ब्लॉग बहुत लोकप्रिय नहीं है, लेकिन पहले मैं spam और hate comments के नर्क से गुज़र चुका हूँ
    इसलिए अब मैं फिर कभी personal blog पर comments feature खोलने का नहीं सोचता

  • Bluesky-आधारित system में भी, अपना labeler जोड़कर खास label लगे comments को filter करने जैसा self-censorship किया जा सकता है

  • मैंने भी इसी तरह के विचार से, अपने ब्लॉग के अलावा cartes.app पर OSM स्थानों के लिए comment feature जोड़ा है
    ATproto account से review छोड़ा जा सकता है, और data user-owned JSON के रूप में PDS में store होता है

    • इस पर एक comment आया, “यह वाकई शानदार है। आप वह data कैसे इकट्ठा करते हैं, क्या आप Bluesky firehose सुनते हैं?”