कई समय क्षेत्रों के लिए डेस्कटॉप घड़ी एप्लिकेशन🕒🌍🕕
घड़ी संबंधित सुविधाएँ:
- 🕐 कई समय क्षेत्रों के लिए टेक्स्ट घड़ी
- ⏱️ टाइमर
- ⏳ काउंटडाउन टाइमर
- 🔄 Epoch समय और दिनांक-समय कनवर्टर
समय किसी की प्रतीक्षा नहीं करता:
- 📝 स्टिकी नोट
एक डेवलपर कभी बिना घड़ी के नहीं रहता:
- 🔀 सरल टेक्स्ट कनवर्टर
- जैसे आसानी से SQL
INक्लॉज़ बनाना
- जैसे आसानी से SQL
- 🌐 वेब सर्वर
- स्टैटिक फ़ाइलें सर्व करता है
- Markdown को रिच तरीके से रेंडर करता है
- ड्रैग-एंड-ड्रॉप आधारित कंटेंट व्यूअर
- रिक्वेस्ट और रिस्पॉन्स डंप सर्वर
- डीबगिंग के लिए स्लो एंडपॉइंट
- GitHub URL से अपने एडिटर में फ़ाइलें खोलें
- स्टैटिक फ़ाइलें सर्व करता है
🔔 नोट: mclocks को इंटरनेट कनेक्शन की आवश्यकता नहीं है — सब कुछ 100% स्थानीय रूप से चलता है।
https://github.com/bayashi/mclocks/releases से डाउनलोड करें
Windows के लिए, आप इंस्टॉलर .msi फ़ाइल या एक्ज़ीक्यूटेबल .exe फ़ाइल प्राप्त कर सकते हैं।
macOS के लिए, आप इंस्टॉल करने के लिए .dmg फ़ाइल प्राप्त कर सकते हैं।
(इस दस्तावेज़ में शॉर्टकट कीज़ Windows OS के लिए हैं। यदि आप macOS का उपयोग कर रहे हैं, तो कृपया उन्हें उचित रूप से समझें, जैसे Ctrl को Ctrl + Command और Alt को Option से बदलें।)
config.json फ़ाइल आपको अपनी पसंद के अनुसार घड़ियों को कॉन्फ़िगर करने की अनुमति देती है।
config.json फ़ाइल निम्नलिखित डायरेक्टरी में स्थित होनी चाहिए:
- Windows:
C:\Users\{USER}\AppData\Roaming\com.bayashi.mclocks\ - Mac:
/Users/{USER}/Library/Application Support/com.bayashi.mclocks/
जब आप mclocks शुरू करें, तो अपनी config.json फ़ाइल को संपादित करने के लिए Ctrl + o दबाएँ।
config.json फ़ाइल को नीचे दिखाए अनुसार JSON प्रारूप में लिखा जाना चाहिए।
{
"clocks": [
{ "name": "UTC", "timezone": "UTC" }
],
"format": "MM-DD ddd HH:mm",
"locale": "en",
"color": "#fff",
"font": "Courier, monospace",
"size": 14,
"margin": "1.65em",
"forefront": false
}
clocks फ़ील्ड ऑब्जेक्ट्स का एक ऐरे है, जिसमें प्रत्येक में name और timezone प्रॉपर्टीज़ होती हैं। दोनों स्ट्रिंग होनी चाहिए। डिफ़ॉल्ट रूप से दोनों UTC हैं।
nameएक लेबल है जो घड़ी के लिए प्रदर्शित किया जाएगा।- समय क्षेत्र चुनने के लिए, कृपया इस समय क्षेत्रों की सूची को देखें।
तीन समय क्षेत्रों के लिए clocks ऐरे का एक उदाहरण यहाँ दिया गया है।
{
"clocks": [
{ "name": "Tokyo", "timezone": "Asia/Tokyo" },
{ "name": "UTC", "timezone": "UTC" },
{ "name": "SF", "timezone": "America/Los_Angeles" }
],
"format": "MM-DD ddd HH:mm",
...snip...
}
स्ट्रिंग: MM-DD ddd HH:mm
format फ़ील्ड घड़ी प्रदर्शित करने के लिए उपयोग की जाने वाली दिनांक-समय फ़ॉर्मेट स्ट्रिंग है। कस्टम दिनांक-समय फ़ॉर्मेट बनाने के लिए, कृपया यह फ़ॉर्मेटिंग गाइड देखें।
स्ट्रिंग: ""
format2 फ़ील्ड format के समान है। ये Ctrl + f कुंजी से एक-दूसरे से स्विच होती हैं। format2 एक वैकल्पिक फ़ील्ड है।
स्ट्रिंग: en
locale फ़ील्ड दिनांक-समय प्रदर्शित करने के लिए भाषा सेटिंग्स निर्धारित करती है। आप समर्थित लोकेल की सूची यहाँ पा सकते हैं।
स्ट्रिंग: #fff
color फ़ील्ड दिनांक-समय टेक्स्ट का रंग परिभाषित करती है। आप नामित रंग, RGB हेक्स मान, RGB मान (जैसे, RGB(255, 0, 0)), या कोई भी वैध CSS रंग मान उपयोग कर सकते हैं।
स्ट्रिंग: Courier, monospace
font दिनांक-समय प्रदर्शित करने के लिए फ़ॉन्ट नाम है। यह मोनोस्पेस्ड फ़ॉन्ट होना चाहिए। यदि आप वेरिएबल-विड्थ फ़ॉन्ट सेट करते हैं, तो आपकी mclocks में अवांछित कंपन प्रभाव हो सकता है।
संख्या | स्ट्रिंग: 14
size दिनांक-समय के कैरेक्टर का आकार है, पिक्सेल में। इसे इकाई सहित स्ट्रिंग के रूप में भी निर्दिष्ट किया जा सकता है (जैसे, "125%", "1.5em")।
स्ट्रिंग: 1.65em
margin फ़ील्ड घड़ियों के बीच का अंतर निर्धारित करती है।
बूलियन: false
यदि forefront फ़ील्ड को true पर सेट किया जाता है, तो mclocks एप्लिकेशन हमेशा अन्य एप्लिकेशन विंडो के ऊपर प्रदर्शित होगा।
नीचे दिखाए अनुसार clock की कॉन्फ़िगरेशन सेट करने पर, यह दिए गए target दिनांक-समय तक काउंटडाउन घड़ी के रूप में प्रदर्शित होगी।
"clocks": [
{
"countdown": "WAC Tokyo D-%D %h:%m:%s",
"target": "2025-09-13",
"timezone": "Asia/Tokyo"
}
],
उपरोक्त काउंटडाउन clock इस प्रकार प्रदर्शित होगी:
WAC Tokyo D-159 12:34:56
यह दर्शाता है कि 13 सितंबर, 2025 तक 159 दिन, 12 घंटे, 34 मिनट और 56 सेकंड शेष हैं।
countdown फ़ील्ड टेक्स्ट नीचे दिए गए टेम्प्लेट वर्ब्स स्वीकार करता है:
%TG: लक्ष्य दिनांक-समय स्ट्रिंग%D: लक्ष्य दिनांक-समय तक शेष दिनों की संख्या%H: लक्ष्य दिनांक-समय तक शेष समय घंटों में%h: शेष समय का घंटा (hh) भाग (hh:mm:ss)%M: लक्ष्य दिनांक-समय तक शेष समय मिनटों में%m: शेष समय का मिनट (mm) भाग (hh:mm:ss)%S: लक्ष्य दिनांक-समय तक शेष समय सेकंडों में%s: शेष समय का सेकंड (ss) भाग (hh:mm:ss)
mclocks ऐप विंडो पर क्लिक करें, फिर 1-मिनट टाइमर शुरू करने के लिए Ctrl + 1 कुंजी दबाएँ। 10-मिनट टाइमर शुरू करने के लिए Ctrl + Alt + 1 कुंजी दबाएँ। अन्य नंबर कुंजियाँ भी इसी तरह काम करती हैं। एक साथ 5 टाइमर तक शुरू किए जा सकते हैं।
टाइमर को रोकने / फिर से शुरू करने के लिए Ctrl + p।
सबसे पुराना टाइमर हटाने के लिए Ctrl + 0। सबसे नया टाइमर हटाने के लिए Ctrl + Alt + 0।
🔔 नोट: काउंटडाउन घड़ी और सरल टाइमर पूरा होने पर डिफ़ॉल्ट रूप से सूचना भेजते हैं। यदि आपको सूचनाओं की आवश्यकता नहीं है, तो config.json में withoutNotification: true सेट करें।
mclocks ऐप विंडो पर क्लिक करें, फिर Epoch समय का प्रदर्शन टॉगल करने के लिए Ctrl + e कुंजी दबाएँ।
mclocks ऐप विंडो पर क्लिक करें, फिर एक दिनांक-समय या Epoch समय पेस्ट करें, तो रूपांतरण परिणाम प्रदर्शित करने के लिए एक डायलॉग दिखाई देगा। और परिणामों को क्लिपबोर्ड पर कॉपी करना संभव है। यदि आप कॉपी नहीं करना चाहते, तो डायलॉग बंद करने के लिए [No] दबाएँ।
Ctrl + v से पेस्ट करते समय, मान (Epoch समय) को सेकंड के रूप में माना जाता है। Ctrl + Alt + v से मिलीसेकंड, Ctrl + Alt + Shift + V से माइक्रोसेकंड, और Ctrl + Alt + Shift + N + V से नैनोसेकंड के रूप में रूपांतरित किया जाता है।
जब पेस्ट किए गए दिनांक-समय मानों में समय क्षेत्र की जानकारी शामिल नहीं होती, तो उन्हें डिफ़ॉल्ट रूप से स्थानीय समय क्षेत्र के रूप में माना जाता है। उन्हें किसी विशिष्ट समय क्षेत्र के रूप में संभालने के लिए, convtz विकल्प में समय क्षेत्र सेट करें।
"convtz": "UTC"
mclocks ऐप विंडो पर क्लिक करें, फिर क्लिपबोर्ड टेक्स्ट को प्रोसेस करने और एडिटर में खोलने के लिए निम्नलिखित कीबोर्ड शॉर्टकट का उपयोग करें:
Ctrl + i: क्लिपबोर्ड की प्रत्येक पंक्ति को डबल कोट्स में लपेटता है और अंत में कॉमा जोड़ता है (अंतिम पंक्ति को छोड़कर)Ctrl + Shift + i: प्रत्येक पंक्ति के अंत में कॉमा जोड़ता है (बिना कोट्स) INT सूची IN शर्त के लिए (अंतिम पंक्ति को छोड़कर)
खाली पंक्तियाँ सभी ऑपरेशनों में यथावत रखी जाती हैं।
(यह टेक्स्ट रूपांतरण सुविधा घड़ियों या समय से कोई संबंध नहीं रखती, लेकिन सॉफ़्टवेयर डेवलपर्स को यह उपयोगी लग सकती है! 😊)
F1 (Windows) या Cmd + Shift + / (macOS) से ब्राउज़र में सहायता पेज (यह README) खोलें
| शॉर्टकट | विवरण |
|---|---|
Ctrl + o |
एडिटर में config.json फ़ाइल खोलें |
Ctrl + f |
format और format2 के बीच स्विच करें (यदि config.json में format2 परिभाषित है) |
Ctrl + e या Ctrl + u |
Epoch समय का प्रदर्शन टॉगल करें |
| शॉर्टकट | विवरण |
|---|---|
Ctrl + 1 से Ctrl + 9 |
टाइमर शुरू करें (1 मिनट × नंबर कुंजी) |
Ctrl + Alt + 1 से Ctrl + Alt + 9 |
टाइमर शुरू करें (10 मिनट × नंबर कुंजी) |
Ctrl + p |
सभी टाइमर रोकें / फिर शुरू करें |
Ctrl + 0 |
सबसे पुराना टाइमर (सबसे बाएँ) हटाएँ |
Ctrl + Alt + 0 |
सबसे नया टाइमर (सबसे दाएँ) हटाएँ |
| शॉर्टकट | विवरण |
|---|---|
Ctrl + s |
क्लिपबोर्ड टेक्स्ट से नया स्टिकी नोट बनाएँ |
| शॉर्टकट | विवरण |
|---|---|
Ctrl + c |
वर्तमान mclocks टेक्स्ट को क्लिपबोर्ड पर कॉपी करें |
Ctrl + v |
क्लिपबोर्ड सामग्री को रूपांतरित करें (Epoch समय सेकंड के रूप में, या दिनांक-समय) |
Ctrl + Alt + v |
क्लिपबोर्ड सामग्री को रूपांतरित करें (Epoch समय मिलीसेकंड के रूप में) |
Ctrl + Alt + Shift + V |
क्लिपबोर्ड सामग्री को रूपांतरित करें (Epoch समय माइक्रोसेकंड के रूप में) |
Ctrl + Alt + Shift + N + V |
क्लिपबोर्ड सामग्री को रूपांतरित करें (Epoch समय नैनोसेकंड के रूप में) |
| शॉर्टकट | विवरण |
|---|---|
Ctrl + i |
क्लिपबोर्ड की प्रत्येक पंक्ति को डबल कोट्स में लपेटें, अंत में कॉमा जोड़ें और एडिटर में खोलें (अंतिम पंक्ति को छोड़कर) |
Ctrl + Shift + i |
प्रत्येक पंक्ति के अंत में कॉमा जोड़ें (बिना कोट्स) INT सूची IN शर्त के लिए और एडिटर में खोलें (अंतिम पंक्ति को छोड़कर) |
mclocks ऐप विंडो पर क्लिक करें, फिर क्लिपबोर्ड टेक्स्ट से स्टिकी नोट बनाने के लिए Ctrl + s दबाएँ। क्लिपबोर्ड सामग्री के साथ एक छोटी फ़्लोटिंग विंडो खुलेगी।
प्रत्येक स्टिकी नोट में ये सुविधाएँ हैं:
- टॉगल बटन (
▸/▾): नोट को विस्तारित या संक्षिप्त करें। संक्षिप्त मोड में केवल एक पंक्ति दिखाई देती है। - कॉपी बटन (
⧉): नोट टेक्स्ट को क्लिपबोर्ड पर कॉपी करें। - अग्रभूमि बटन (
⊤/⊥): नोट को अन्य विंडो के ऊपर रहने के लिए टॉगल करें। यह सेटिंग प्रत्येक स्टिकी नोट के लिए अलग से सहेजी जाती है। - बंद करें बटन (
✖): स्टिकी नोट हटाएँ और उसकी विंडो बंद करें। - टेक्स्ट एरिया: नोट सामग्री को स्वतंत्र रूप से संपादित करें। परिवर्तन स्वचालित रूप से सहेजे जाते हैं।
- रीसाइज़ हैंडल: विस्तारित होने पर नोट का आकार बदलने के लिए निचले-दाएँ कोने को ड्रैग करें।
स्टिकी नोट्स config.json से font, size, color, और forefront सेटिंग्स इनहेरिट करते हैं। अग्रभूमि सेटिंग को अग्रभूमि बटन का उपयोग करके प्रत्येक स्टिकी नोट के लिए ओवरराइड किया जा सकता है; यदि ओवरराइड नहीं किया जाता, तो config.json का मान उपयोग किया जाता है। उनकी स्थिति, आकार, खुली/बंद अवस्था, और अग्रभूमि ओवरराइड को संरक्षित किया जाता है, और mclocks के पुनः आरंभ होने पर सभी नोट्स स्वचालित रूप से पुनर्स्थापित होते हैं।
🔔 नोट: macOS पर, स्टिकी नोट विंडो की स्थिति केवल एप्लिकेशन बंद होने पर सहेजी जाती है। Windows पर, विंडो को स्थानांतरित या रीसाइज़ करते समय स्थिति स्वचालित रूप से सहेजी जाती है।
प्रत्येक स्टिकी नोट का अधिकतम टेक्स्ट आकार 128 KB है।
mclocks एक अंतर्निहित वेब सर्वर के माध्यम से स्टैटिक फ़ाइलें सर्व कर सकता है। यह सुविधा आपको अपने कोड स्निपेट्स को ब्राउज़र में आसानी से देखने की अनुमति देती है। अपने config.json में web फ़ील्ड जोड़ें:
{
"web": {
"root": "/path/to/your/webroot",
"dump": true,
"slow": true,
"status": true,
"content": {
"markdown": {
"allowRawHTML": false
}
},
"editor": {
"reposDir": "/path/to/your/repos"
}
}
}
root: सर्व करने के लिए फ़ाइलों वाली डायरेक्टरी का पथ (आवश्यक)port: सुनने के लिए पोर्ट नंबर (डिफ़ॉल्ट: 3030)open_browser_at_start: यदिtrueपर सेट किया जाता है, तोmclocksशुरू होने पर डिफ़ॉल्ट ब्राउज़र में वेब सर्वर URL स्वचालित रूप से खुलता है (डिफ़ॉल्ट:false)dump: यदिtrueपर सेट किया जाता है, तो रिक्वेस्ट विवरण JSON के रूप में लौटाने वाला/dumpएंडपॉइंट सक्षम होता है (डिफ़ॉल्ट:false)slow: यदिtrueपर सेट किया जाता है, तो रिस्पॉन्स में देरी करने वाला/slowएंडपॉइंट सक्षम होता है (डिफ़ॉल्ट:false)status: यदिtrueपर सेट किया जाता है, तो मनमाने HTTP स्टेटस कोड लौटाने वाला/status/{code}एंडपॉइंट सक्षम होता है (डिफ़ॉल्ट:false)content.markdown.allowRawHTML: यदिtrueपर सेट किया जाता है, तो Markdown रेंडरिंग में raw HTML की अनुमति देता है; यदिfalseहै, तो Markdown में raw HTML को टेक्स्ट के रूप में escape किया जाता है (डिफ़ॉल्ट:false)editor: यदि सेट किया जाता है औरreposDirशामिल है, तो ब्राउज़र की GitHub URL से अपने एडिटर में स्थानीय फ़ाइलें खोलने वाला/editorएंडपॉइंट सक्षम होता है (डिफ़ॉल्ट: सेट नहीं)
यदि आपके config.json में web फ़ील्ड कॉन्फ़िगर किया गया है, तो mclocks लॉन्च होने पर वेब सर्वर स्वचालित रूप से शुरू हो जाता है। http://127.0.0.1:3030 पर फ़ाइलों तक पहुँचें। वेब सर्वर केवल 127.0.0.1 (localhost) पर सुनता है, इसलिए यह केवल आपकी स्थानीय मशीन से ही पहुँच योग्य है।
वेब सर्वर निम्नलिखित फ़ाइल प्रकारों का समर्थन करता है:
- टेक्स्ट:
html,css,js,json,md,txt - छवियाँ:
png,jpg,jpeg,gif,svg,ico
स्टैटिक फ़ाइल होस्टिंग के अलावा, वेब सर्वर में ड्रैग-एंड-ड्रॉप आधारित कंटेंट व्यूअर वर्कफ़्लो भी शामिल है: जब आप mclocks की घड़ी विंडो पर कोई फ़ाइल या डायरेक्टरी ड्रैग-एंड-ड्रॉप करते हैं, तो उसे अस्थायी लोकल URL के जरिए खोला और देखा जा सकता है। ये अस्थायी URL mclocks बंद होने पर हटा दिए जाते हैं।
जब web कॉन्फ़िगरेशन में dump: true सेट किया जाता है, तो वेब सर्वर एक /dump एंडपॉइंट प्रदान करता है जो रिक्वेस्ट विवरण JSON के रूप में लौटाता है।
एंडपॉइंट निम्नलिखित सामग्री वाला JSON ऑब्जेक्ट लौटाता है:
method: HTTP मेथड (जैसे, "GET", "POST")path:/dump/के बाद का रिक्वेस्ट पथ (जैसे,/dump/testके लिए "/test")query: की-वैल्यू ऑब्जेक्ट्स के ऐरे के रूप में क्वेरी पैरामीटर (जैसे,[{"key1": "value1"}, {"key2": "value2"}])headers: की-वैल्यू ऑब्जेक्ट्स के ऐरे के रूप में रिक्वेस्ट हेडर (जैसे,[{"Content-Type": "application/json"}])body: रिक्वेस्ट बॉडी स्ट्रिंग के रूप में (यदि मौजूद है)parsed_body: यदि Content-Type JSON इंगित करता है तो पार्स किया गया JSON ऑब्जेक्ट, या पार्सिंग विफल होने पर त्रुटि संदेश स्ट्रिंग
http://127.0.0.1:3030/dump पर या /dump/ के अंतर्गत किसी भी पथ (जैसे, /dump/test?key=value) पर dump एंडपॉइंट तक पहुँचें।
जब web कॉन्फ़िगरेशन में slow: true सेट किया जाता है, तो वेब सर्वर एक /slow एंडपॉइंट प्रदान करता है जो 200 OK लौटाने से पहले रिस्पॉन्स में देरी करता है।
यह एंडपॉइंट किसी भी HTTP मेथड (GET, POST, आदि) के माध्यम से पहुँच योग्य है और निम्नलिखित पथों का समर्थन करता है:
/slow: 30 सेकंड (डिफ़ॉल्ट) प्रतीक्षा करता है और 200 OK लौटाता है/slow/120: 120 सेकंड (या कोई भी निर्दिष्ट सेकंड) प्रतीक्षा करता है और 200 OK लौटाता है
अधिकतम अनुमत मान 901 सेकंड (15 मिनट + 1 सेकंड) है। इस सीमा से अधिक रिक्वेस्ट 400 Bad Request त्रुटि लौटाती हैं।
यह एंडपॉइंट टाइमआउट व्यवहार, कनेक्शन हैंडलिंग, या धीमी नेटवर्क स्थितियों के अनुकरण के परीक्षण के लिए उपयोगी है।
यदि अमान्य सेकंड पैरामीटर प्रदान किया जाता है (जैसे, /slow/abc), तो एंडपॉइंट 400 Bad Request त्रुटि लौटाता है।
जब web कॉन्फ़िगरेशन में status: true सेट किया जाता है, तो वेब सर्वर एक /status/{code} एंडपॉइंट प्रदान करता है जो RFC मानकों में परिभाषित मनमाने HTTP स्टेटस कोड (100-599) लौटाता है।
एंडपॉइंट स्टेटस कोड और उसके संबंधित वाक्यांश के साथ एक सादा टेक्स्ट रिस्पॉन्स लौटाता है, HTTP विनिर्देश के अनुसार उचित हेडर के साथ।
उदाहरण:
http://127.0.0.1:3030/status/200- 200 OK लौटाता हैhttp://127.0.0.1:3030/status/404- 404 Not Found लौटाता हैhttp://127.0.0.1:3030/status/500- 500 Internal Server Error लौटाता हैhttp://127.0.0.1:3030/status/418- 418 I'm a teapot लौटाता है (विशेष संदेश के साथ)http://127.0.0.1:3030/status/301- 301 Moved Permanently लौटाता है (Location हेडर के साथ)
स्टेटस-विशिष्ट हेडर:
एंडपॉइंट विशिष्ट स्टेटस कोड के लिए स्वचालित रूप से उचित हेडर जोड़ता है:
- 3xx रीडायरेक्शन (301, 302, 303, 305, 307, 308):
Locationहेडर जोड़ता है - 401 Unauthorized:
WWW-Authenticateहेडर जोड़ता है - 405 Method Not Allowed:
Allowहेडर जोड़ता है - 407 Proxy Authentication Required:
Proxy-Authenticateहेडर जोड़ता है - 416 Range Not Satisfiable:
Content-Rangeहेडर जोड़ता है - 426 Upgrade Required:
Upgradeहेडर जोड़ता है - 429 Too Many Requests:
Retry-Afterहेडर जोड़ता है (60 सेकंड) - 503 Service Unavailable:
Retry-Afterहेडर जोड़ता है (60 सेकंड) - 511 Network Authentication Required:
WWW-Authenticateहेडर जोड़ता है
रिस्पॉन्स बॉडी हैंडलिंग:
- 204 No Content और 304 Not Modified: खाली रिस्पॉन्स बॉडी लौटाता है (HTTP विनिर्देश के अनुसार)
- 418 I'm a teapot: मानक स्टेटस वाक्यांश के बजाय विशेष संदेश "I'm a teapot" लौटाता है
- अन्य सभी स्टेटस कोड:
{code} {phrase}प्रारूप में सादा टेक्स्ट लौटाता है (जैसे, "404 Not Found")
यह एंडपॉइंट यह परीक्षण करने के लिए उपयोगी है कि आपके एप्लिकेशन विभिन्न HTTP स्टेटस कोड, त्रुटि हैंडलिंग, रीडायरेक्ट, प्रमाणीकरण आवश्यकताओं और दर सीमित करने के परिदृश्यों को कैसे संभालते हैं।
जब कॉन्फ़िगरेशन फ़ाइल में web.editor.reposDir सेट किया जाता है, तो वेब सर्वर एक /editor एंडपॉइंट प्रदान करता है जो आपको ब्राउज़र की GitHub URL से सीधे अपने एडिटर में स्थानीय फ़ाइलें खोलने की अनुमति देता है।
कॉन्फ़िगरेशन:
अपने web कॉन्फ़िगरेशन में निम्नलिखित जोड़ें:
{
"web": {
"root": "/path/to/your/webroot",
"editor": {
"reposDir": "~/repos",
"includeHost": false,
"command": "code",
"args": ["-g", "{file}:{line}"]
}
}
}
reposDir: आपकी स्थानीय रिपॉज़िटरी डायरेक्टरी का पथ। होम डायरेक्टरी विस्तार के लिए~का समर्थन करता है (जैसे, macOS पर"~/repos"या Windows पर"C:/Users/username/repos")। यह डायरेक्टरी मौजूद होनी चाहिए।includeHost: यदिtrueहै, तो स्थानीय पथ रिज़ॉल्यूशन में मूल होस्ट को डायरेक्टरी के रूप में शामिल किया जाता है (जैसे,{reposDir}/{host}/{owner}/{repo}/...)। यदिfalseहै, तो यह{reposDir}/{owner}/{repo}/...में रिज़ॉल्व होता है (डिफ़ॉल्ट:false)।command: आपके एडिटर एक्ज़ीक्यूटेबल का कमांड नाम या पथ (डिफ़ॉल्ट:code)args: आर्ग्युमेंट टेम्प्लेट ऐरे।{file}और{line}प्लेसहोल्डर का उपयोग करें। यदि URL में#L...मौजूद नहीं है, तो{line}1 का उपयोग करता है।
यह कैसे काम करता है:
- जब आप
/editorएंडपॉइंट के माध्यम से GitHub फ़ाइल URL तक पहुँचते हैं, तो यह GitHub पथ को स्थानीय फ़ाइल पथ में परिवर्तित करता है - स्थानीय फ़ाइल पथ इस प्रकार बनाया जाता है:
{reposDir}/{owner}/{repository_name}/{file_path} - यदि फ़ाइल मौजूद है, तो यह कॉन्फ़िगर किए गए कमांड और आर्ग्युमेंट्स का उपयोग करके निर्दिष्ट लाइन नंबर पर आपके एडिटर में फ़ाइल खोलता है (डिफ़ॉल्ट:
code -g {local_file_path}:{line_number}) - यदि फ़ाइल मौजूद नहीं है, तो रिपॉज़िटरी क्लोन करने के लिंक के साथ एक त्रुटि पेज प्रदर्शित होता है
बुकमार्कलेट:
GitHub फ़ाइलों को अपने स्थानीय एडिटर में तुरंत खोलने के लिए एक बुकमार्कलेट बनाएँ। 3030 को अपने कॉन्फ़िगर किए गए पोर्ट नंबर से बदलें:
javascript:(function(){var u=new URL(document.location.href);open('http://127.0.0.1:3030/editor/'+u.host+u.pathname+u.hash,'_blank');})()लाइन नंबर समर्थन:
आप URL में हैश फ़्रैगमेंट का उपयोग करके लाइन नंबर निर्दिष्ट कर सकते हैं:
https://github.com/username/repo/blob/main/file.rs#L123→ लाइन 123 पर खुलता है
त्रुटि हैंडलिंग:
- यदि फ़ाइल स्थानीय रूप से मौजूद नहीं है, तो टैब खुला रहता है और GitHub से रिपॉज़िटरी क्लोन करने के लिंक के साथ एक त्रुटि संदेश प्रदर्शित करता है
- यदि फ़ाइल सफलतापूर्वक खोली जाती है, तो टैब स्वचालित रूप से बंद हो जाता है
- यदि
web.editor.reposDirकॉन्फ़िगर नहीं किया गया है या मौजूद नहीं है, तो/editorएंडपॉइंट सक्षम नहीं होता (और आपको 404 मिलेगा)
उदाहरण:
- आप GitHub पर एक फ़ाइल देख रहे हैं:
https://github.com/bayashi/mclocks/blob/main/src/app.js#L42 - बुकमार्कलेट पर क्लिक करें या मैन्युअल रूप से नेविगेट करें:
http://127.0.0.1:3030/editor/bayashi/mclocks/blob/main/src/app.js#L42 - यदि आपके स्थानीय में
~/repos/mclocks/src/app.jsमौजूद है, तो VS Code इसे लाइन 42 पर खोलता है - यदि फ़ाइल मौजूद नहीं है, तो क्लोनिंग के लिए
https://github.com/bayashi/mclocksके लिंक के साथ एक त्रुटि पेज दिखाई देता है
mclocks में एक MCP (Model Context Protocol) सर्वर शामिल है जो Cursor और Claude Desktop जैसे AI सहायकों को कई समय क्षेत्रों में "अभी क्या समय है?" का उत्तर देने और दिनांक-समय प्रारूपों और Epoch टाइमस्टैम्प के बीच रूपांतरण करने में सक्षम बनाता है। MCP सर्वर स्वचालित रूप से आपकी mclocks config.json का उपयोग करता है, इसलिए mclocks में आपके द्वारा कॉन्फ़िगर किए गए समय क्षेत्र AI के उत्तरों में परिलक्षित होते हैं।
- Node.js (v18 या बाद का)
यदि आपके पास Node.js नहीं है, तो इसे आधिकारिक वेबसाइट से इंस्टॉल करें।
अपनी MCP कॉन्फ़िगरेशन फ़ाइल में निम्नलिखित JSON जोड़ें:
- Cursor: आपके प्रोजेक्ट रूट में
.cursor/mcp.json, या ग्लोबल~/.cursor/mcp.json - Claude Desktop (
claude_desktop_config.json):- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
{
"mcpServers": {
"mclocks-datetime-util": {
"command": "npx",
"args": ["-y", "mclocks-datetime-util"]
}
}
}सहेजने के बाद, एप्लिकेशन को पुनः आरंभ करें। MCP सर्वर स्वचालित रूप से डाउनलोड और शुरू हो जाएगा। निम्नलिखित टूल उपलब्ध हो जाएँगे:
current-time- आपके कॉन्फ़िगर किए गए समय क्षेत्रों में वर्तमान समय प्राप्त करेंlocal-time- उपयोगकर्ता के समय क्षेत्र (convtzकॉन्फ़िग या सिस्टम डिफ़ॉल्ट से) में वर्तमान स्थानीय समय प्राप्त करेंconvert-time- दिनांक-समय स्ट्रिंग या Epoch टाइमस्टैम्प को कई समय क्षेत्रों में रूपांतरित करेंnext-weekday- किसी दिए गए सप्ताह के दिन की अगली तारीख खोजेंdate-to-weekday- किसी दी गई तारीख का सप्ताह का दिन प्राप्त करेंdays-until- आज से किसी निर्दिष्ट तारीख तक के दिनों की गिनती करेंdays-between- दो तारीखों के बीच के दिनों की गिनती करेंdate-offset- किसी दी गई तारीख से N दिन पहले या बाद की तारीख की गणना करें
MCP सर्वर स्वचालित रूप से आपकी mclocks config.json पढ़ता है और उपयोग करता है:
clocks- आपकी घड़ियों में परिभाषित समय क्षेत्र डिफ़ॉल्ट रूपांतरण लक्ष्य के रूप में उपयोग किए जाते हैंconvtz- समय क्षेत्र जानकारी के बिना दिनांक-समय स्ट्रिंग को रूपांतरित करते समय डिफ़ॉल्ट स्रोत समय क्षेत्र के रूप में उपयोग किया जाता हैusetz- ऐतिहासिक रूप से सटीक UTC ऑफ़सेट के लिए सख्त समय क्षेत्र रूपांतरण सक्षम करता है (जैसे, 1888 से पहले JST +09:18 था)। जब आपको ऐतिहासिक दिनांक-समय को सटीक रूप से रूपांतरित करने की आवश्यकता हो तोtrueपर सेट करें
यदि कोई config.json नहीं मिलती, तो सर्वर सामान्य समय क्षेत्रों के अंतर्निहित सेट पर वापस आता है (UTC, America/New_York, America/Los_Angeles, Europe/London, Europe/Berlin, Asia/Tokyo, Asia/Shanghai, Asia/Kolkata, Australia/Sydney)।
यदि आप config.json सेटिंग्स को ओवरराइड करना चाहते हैं, या यदि आपके पास config.json नहीं है, तो आप अपने MCP कॉन्फ़िगरेशन में पर्यावरण चर सेट कर सकते हैं। पर्यावरण चर config.json के मानों पर प्राथमिकता रखते हैं।
| चर | विवरण | डिफ़ॉल्ट |
|---|---|---|
MCLOCKS_CONFIG_PATH |
config.json का पथ। अधिकांश मामलों में आवश्यक नहीं, क्योंकि सर्वर स्वचालित रूप से स्थान का पता लगाता है। |
स्वतः पता लगाना |
MCLOCKS_LOCALE |
सप्ताह के दिनों के नाम आदि के फ़ॉर्मेटिंग के लिए लोकेल (जैसे, ja, pt, de) |
en |
MCLOCKS_CONVTZ |
समय क्षेत्र जानकारी के बिना दिनांक-समय स्ट्रिंग की व्याख्या के लिए डिफ़ॉल्ट स्रोत समय क्षेत्र (जैसे, Asia/Tokyo) |
(कोई नहीं) |
MCLOCKS_USETZ |
सख्त समय क्षेत्र रूपांतरण सक्षम करने के लिए true पर सेट करें |
false |
उदाहरण:
{
"mcpServers": {
"mclocks-datetime-util": {
"command": "npx",
"args": ["-y", "mclocks-datetime-util"],
"env": {
"MCLOCKS_LOCALE": "ja",
"MCLOCKS_CONVTZ": "Asia/Tokyo"
}
}
}
}कॉन्फ़िगर करने के बाद, आप अपने AI सहायक से इस तरह की बातें पूछ सकते हैं:
- "अभी क्या समय है?" - आपके mclocks-कॉन्फ़िगर किए गए सभी समय क्षेत्रों में वर्तमान समय लौटाता है
- "जकार्ता में क्या समय है?" - एक विशिष्ट समय क्षेत्र में वर्तमान समय लौटाता है
- "Epoch 1705312200 को दिनांक-समय में रूपांतरित करें"
- "2024-01-15T10:30:00Z को Asia/Tokyo में रूपांतरित करें"
- "अगला शुक्रवार कौन सी तारीख है?"
- "25 दिसंबर 2026 को कौन सा दिन है?"
- "क्रिसमस तक कितने दिन बाकी हैं?"
- "1 जनवरी 2026 से 31 दिसंबर 2026 के बीच कितने दिन हैं?"
- "1 अप्रैल 2026 से 90 दिन बाद कौन सी तारीख है?"
Dai Okabayashi: https://github.com/bayashi




