3 पॉइंट द्वारा GN⁺ 2025-12-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • ब्राउज़र के भीतर चलने वाला हल्का टेक्स्ट एडिटर, जो सारे टेक्स्ट को URL hash में सहेजता है
  • इनपुट सामग्री को deflate compression के जरिए URL लंबाई कम की जाती है, और यह backend server के बिना पूरी तरह client-side पर काम करता है
  • ऑटो सेव (500ms delay), dark mode, mobile support जैसी बुनियादी सुविधा शामिल हैं
  • दस्तावेज़ का शीर्षक # Title से सेट किया जा सकता है, या <article> टैग में style attribute जोड़कर उसे भी URL में साथ सहेजा जा सकता है
  • सिर्फ URL शेयर करके दस्तावेज़ भेजा जा सकता है, इसलिए यह छोटे नोट्स या code snippet साझा करने में उपयोगी है

अवलोकन

  • textarea.my एक मिनिमलिस्ट टेक्स्ट एडिटर है जो पूरी तरह ब्राउज़र में चलता है
    • सारा डेटा URL hash में सहेजा जाता है, इसलिए अलग server या database की ज़रूरत नहीं होती
    • यह JavaScript में बना है और बिना किसी installation process के तुरंत इस्तेमाल किया जा सकता है

प्रमुख फीचर्स

  • टेक्स्ट compression (Compression magic)

    • दर्ज किए गए टेक्स्ट को deflate algorithm से compress करके URL लंबाई को न्यूनतम रखा जाता है
    • लगभग 500 अक्षरों के URL में लंबे नोट्स साझा किए जा सकते हैं
  • URL-आधारित सेव और शेयरिंग

    • लिखा गया कंटेंट URL hash में शामिल होता है, इसलिए उस लिंक को कॉपी करके साझा किया जा सकता है
    • server पर सेव किए बिना भी सिर्फ लिंक से दस्तावेज़ restore किया जा सकता है
  • ऑटो सेव और dark mode

    • इनपुट के 500ms बाद ऑटो सेव फीचर उपलब्ध है
    • सिस्टम की color mode setting को पहचानकर dark mode अपने आप लागू हो जाता है
  • मोबाइल-फ्रेंडली इंटरफ़ेस

    • स्मार्टफ़ोन पर भी वही फीचर्स इस्तेमाल करके दस्तावेज़ लिखा जा सकता है
    • responsive design के कारण चलते-फिरते उपयोग के लिए उपयुक्त है
  • backend-रहित संरचना

    • “Zero servers were harmed” वाली पंक्ति की तरह यह पूरी तरह client-based app है
    • server load या निजी डेटा स्टोरेज की समस्या नहीं है

उपयोग कैसे करें

  • textarea.my पर जाएँ और तुरंत लिखना शुरू करें
  • लिखते समय URL के लंबा होते जाने को देखा जा सकता है
  • URL कॉपी करके दूसरे लोगों के साथ साझा किया जा सकता है

उन्नत टिप्स (Pro tips)

  • दस्तावेज़ की पहली पंक्ति में # Title लिखने पर वह page title के रूप में सेट हो जाती है
  • डेटा localStorage और URL दोनों में सहेजा जाता है, जिससे दोहरी सुरक्षा मिलती है
  • developer tools में <article> टैग पर style attribute जोड़ने पर, वह style भी URL में साथ सहेजी जाती है

उदाहरण लिंक

  • Fyodor Dostoevsky की Crime and Punishment का उदाहरण दस्तावेज़ उपलब्ध है
  • ChatGPT द्वारा लिखा गया An Ode to Comic Sans उदाहरण दस्तावेज़ भी उपलब्ध है

तकनीकी विशेषताएँ

  • JavaScript-आधारित निर्माण
  • server request के बिना सिर्फ URL hash और localStorage से डेटा प्रबंधन
  • सरल संरचना के कारण security risk कम और तेज़ loading speed सुनिश्चित होती है

निष्कर्ष

  • textarea.my एक serverless वातावरण में चलने वाला अल्ट्रा-लाइट टेक्स्ट एडिटर है,
    जो सिर्फ URL शेयरिंग से दस्तावेज़ सहेजने और भेजने का अनोखा तरीका प्रदान करता है
  • यह डेवलपर और डिज़ाइनर के लिए सरल आइडिया नोट करना, code memo बनाना, और test document लिखना जैसे कामों में उपयोगी टूल है

1 टिप्पणियां

 
GN⁺ 2025-12-25
Hacker News टिप्पणियाँ
  • मज़ेदार बात यह है कि मैंने भी लगभग यही चीज़ बनाई थी, बस मैप्स के लिए
    मुझे मैप पर ड्रॉ करना था, और लिंक शेयर करके सामने वाले को अपनी लोकेशन दिखाने का तरीका चाहिए था
    स्क्रीनशॉट पर annotation करना पहली समस्या तो हल करता है, लेकिन दूसरी नहीं
    इसलिए मैंने खुद ही इसे Vibe engineering वाली फील के साथ बना लिया
    यह किसी खास मकसद के लिए एक तरह का ‘इंस्टेंट ऐप’ है
    backend के बिना भी इसे सस्ते में host किया जा सकता है, इसलिए इसे मुफ्त में deploy किया जा सकता है
    MapDraw डेमो लिंक

    • कमाल है! मैं अभी इसका इस्तेमाल यात्रा की योजना बनाने में कर रहा हूँ
      क्या इसमें text annotation भी जोड़ा जा सकता है? और delete बटन पूरे reset की जगह सिर्फ आख़िरी shape हटाए या selected delete करे तो अच्छा होगा
    • “Vibe engineered” अभिव्यक्ति बहुत मज़ेदार है। vibe coding तो ठीक है, लेकिन उसे engineering कहना काफ़ी funny है :D
    • पेज की responsiveness अब तक इस्तेमाल किए गए किसी भी मैप ऐप से कहीं बेहतर है
    • वाकई शानदार! एक bug report यह है कि मैप move करते समय ड्रॉइंग स्मूदली साथ चलती है, लेकिन zoom in/out करते समय animation खत्म होने के बाद ही ड्रॉइंग हिलती है
    • सच में बहुत बढ़िया प्रोजेक्ट है
  • मैं आज सुबह कुछ ऐसा ही बना रहा था
    base64 string में replace इस्तेमाल करने के बजाय .toBase64({ alphabet: "base64url" }) और fromBase64({ alphabet: "base64url" }) इस्तेमाल करें तो ज़्यादा साफ़ रहता है
    MDN दस्तावेज़ देखें

  • spec के अनुसार URL कम-से-कम 8,000 characters तक संभव है
    प्रमुख browsers 64,000 characters से ज़्यादा सपोर्ट करते हैं, और Chrome 2MB तक सपोर्ट करता है
    RFC9110 section 4.1-5, StackOverflow संदर्भ, Chromium दस्तावेज़

    • Chrome 2MB, Firefox 1MB, और WebKit में कोई limit नहीं है
      संदर्भ के लिए, Crime and Punishment का पूरा टेक्स्ट लिंक भी URL में संभव है
    • लगता है निगरानी उद्योग utm-tracker या campaign ID जैसी चीज़ें और जोड़ने के लिए URLs को लगातार लंबा करता जा रहा है
      Instagram या YouTube share links देखें तो उनमें सैकड़ों characters के tracking parameters जुड़े होते हैं
    • वैसे, character और octet अलग चीज़ें हैं। अगर URI-safe ASCII में convert नहीं किया गया है, तो याद रखें कि 1 character = 1 byte नहीं होता
  • समझ नहीं आता डेटा को URL में store करके फुलाने की क्या ज़रूरत है। localStorage में store करना काफ़ी नहीं है?

  • मैंने पहले spreadsheet के साथ कुछ ऐसा ही बनाया था
    input field में tab बदलकर refresh करना पड़ता था, तभी यह काम करता था
    उदाहरण लिंक
    पूरा कोड लगभग 130 lines का था
    और उदाहरण

  • मैंने एक छोटा JS framework बनाया है जिससे इस तरह का URL-आधारित sharing आसान हो जाता है
    lost.js GitHub लिंक

  • privacy के नज़रिए से मुझे यह तरीका पसंद है
    इसलिए मैं सोच रहा हूँ कि अपने kraa.io editor में भी URL storage option जोड़ दूँ

    • लेकिन privacy के लिहाज़ से textarea.my में tracking script शामिल है
      उसमें Cloudflare beacon code inject किया गया है, इसलिए सावधानी की ज़रूरत है
    • तो क्या privacy के हिसाब से यह किसी local native text editor के इस्तेमाल से बेहतर है?
  • मैंने पहले guitar tab notation के लिए कुछ ऐसा ही बनाया था
    tabviewer.app देखें
    URL बहुत लंबा होने की समस्या short URL service से हल की थी

    • मैंने भी उसी मकसद के लिए एक tab editor बनाया था
      GitHub repository
  • शानदार प्रोजेक्ट है, लेकिन “Crime and Punishment” लोड करते ही मेरा mobile browser crash हो गया
    लगता है URL को इतने बड़े ‘दंड’ के लिए डिज़ाइन नहीं किया गया था

  • थोड़ा प्रचार कर लूँ, मैंने भी ऐसा ही कुछ बनाया था, लेकिन किसी ने ध्यान नहीं दिया
    Buffertab GitHub लिंक

    • voice input फ़ीचर दिलचस्प है। सोच रहा हूँ कि OpenAI API की जगह Whisper wasm इस्तेमाल करने के बारे में कभी सोचा था या नहीं