- स्थिर साइट पर भी 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 के ज़रिए कुछ कमेंट छिपाए जा सकते हैं
अभी कोई टिप्पणी नहीं है.