ब्राउज़र में चलने वाला और URL में पूरी सामग्री सहेजने वाला मिनिमलिस्ट टेक्स्ट एडिटर
(github.com/antonmedv)- ब्राउज़र के भीतर चलने वाला हल्का टेक्स्ट एडिटर, जो सारे टेक्स्ट को 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 टिप्पणियां
Hacker News टिप्पणियाँ
मज़ेदार बात यह है कि मैंने भी लगभग यही चीज़ बनाई थी, बस मैप्स के लिए
मुझे मैप पर ड्रॉ करना था, और लिंक शेयर करके सामने वाले को अपनी लोकेशन दिखाने का तरीका चाहिए था
स्क्रीनशॉट पर annotation करना पहली समस्या तो हल करता है, लेकिन दूसरी नहीं
इसलिए मैंने खुद ही इसे Vibe engineering वाली फील के साथ बना लिया
यह किसी खास मकसद के लिए एक तरह का ‘इंस्टेंट ऐप’ है
backend के बिना भी इसे सस्ते में host किया जा सकता है, इसलिए इसे मुफ्त में deploy किया जा सकता है
MapDraw डेमो लिंक
क्या इसमें text annotation भी जोड़ा जा सकता है? और delete बटन पूरे reset की जगह सिर्फ आख़िरी shape हटाए या selected delete करे तो अच्छा होगा
मैं आज सुबह कुछ ऐसा ही बना रहा था
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 दस्तावेज़
संदर्भ के लिए, Crime and Punishment का पूरा टेक्स्ट लिंक भी URL में संभव है
Instagram या YouTube share links देखें तो उनमें सैकड़ों characters के tracking parameters जुड़े होते हैं
समझ नहीं आता डेटा को 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 जोड़ दूँ
textarea.myमें tracking script शामिल हैउसमें Cloudflare beacon code inject किया गया है, इसलिए सावधानी की ज़रूरत है
मैंने पहले guitar tab notation के लिए कुछ ऐसा ही बनाया था
tabviewer.app देखें
URL बहुत लंबा होने की समस्या short URL service से हल की थी
GitHub repository
शानदार प्रोजेक्ट है, लेकिन “Crime and Punishment” लोड करते ही मेरा mobile browser crash हो गया
लगता है URL को इतने बड़े ‘दंड’ के लिए डिज़ाइन नहीं किया गया था
थोड़ा प्रचार कर लूँ, मैंने भी ऐसा ही कुछ बनाया था, लेकिन किसी ने ध्यान नहीं दिया
Buffertab GitHub लिंक