इस प्रोजेक्ट के बारे में

VHS एक टूल है जो कोड से टर्मिनल GIF (और अन्य वीडियो फॉर्मेट) जनरेट करता है, जो इंटीग्रेशन टेस्टिंग और CLI टूल्स को प्रदर्शित करने के लिए डिज़ाइन किया गया है। उपयोगकर्ता .tape फाइलें लिखते हैं जिनमें ऐसे कमांड्स होते हैं जो VHS को वर्चुअल टर्मिनल पर कार्रवाइयाँ करने का निर्देश देते हैं, जैसे टेक्स्ट टाइप करना, की दबाना, स्क्रीन कंटेंट का इंतज़ार करना, और स्लीप करना। आउटपुट GIF, MP4, WebM, या PNG फ्रेम सीक्वेंस में रेंडर किया जा सकता है। मुख्य क्षमताएँ: - Tape फाइल स्क्रिप्टिंग, जिसमें टाइपिंग, की प्रेस (Enter, Tab, Backspace, तीर, Ctrl संयोजन), स्क्रॉलिंग, regex के जरिए इंतज़ार, और स्लीप के लिए कमांड शामिल हैं। - फॉन्ट फैमिली और साइज, टर्मिनल डाइमेंशन (पिक्सेल या कॉलम/रो), लेटर स्पेसिंग, लाइन हाइट, थीम (JSON या नामित), पैडिंग, मार्जिन, विडो बार स्टाइल, बॉर्डर रेियस, फ्रेमरेट, प्लेबैक स्पीड, लूप ऑफ़सेट, और कर्सर ब्लिंक के लिए सेटिंग्स। - `vhs record` के साथ टर्मिनल सेशन को सीधे tape फाइलों में रिकॉर्ड करना। - GIF को vhs.charm.sh पर पब्लिश करना, जिससे ब्राउज़र, HTML, या Markdown लिंक के जरिए शेयरिंग हो सके। - बिल्ट-इन SSH सर्वर (`vhs serve`) सेल्-होस्टिंग के लिए, जो दूरस्थ एक्सेस की अनुमति देता है जहाँ VHS होस्ट-इंस्टॉल्ड कमांड्स के साथ चलता है। - `Require` के जरिए डिपेंडेंसी डिक्लेरेशन, ताकि ज़रूरी प्रोग्राम मिसिंग होने पर जल्दी फेल हो। - `Hide`/`Show` कमांड से फ्रेम कैप्चर को पॉज़ और रिज्यूम करना, सेटअप या क्लीनअप के लिए। - `Source` कमांड से अन्य tape फाइलों से कमांड शामिल करना। - `Env` के साथ एनवायरनमेंट वेरिएबल सेट करना। - क्लिपबोर्ड कॉपी और पेस्ट सपोर्ट। - व्यक्तिगत फ्रेम के लिए स्क्रीनशॉट क्षमता। VHS को PATH पर ttyd और ffmpeg की आवश्यकता होती है। इसे पैकेज मैनेजर्स (brew, pacman, nix, scoop, winget), Docker, प्रीबिल्ट बाइनरीज़, या `go install` के जरिए इंस्टॉल किया जा सकता है।