2012-05-22 23 views
8

खैर, शीर्षक में बहुत कुछ सब कुछ है: क्या टेक्स्ट बोल्ड, इटैलिक या रेखांकित करने के अलावा कुछ और करने के लिए कोई शॉर्टकट हैं? या कोई प्लगइन ऐसा करने की इजाजत देता है?ईथरपैड में, बोल्ड, इटैलिक और अंडरलाइन (स्ट्राइक, बुलेट प्वाइंट, ...) की तुलना में अन्य कार्यों के लिए कोई शॉर्टकट हैं?

मेरा एक सहयोगी के अनुसार, स्रोत कोड में ऐसी चीजें नहीं लगती हैं, लेकिन शायद हम कुछ याद कर चुके हैं?

उत्तर

11

ईथरपैड में एक एम्बेडेड समृद्ध-पाठ संपादक शामिल है जिसे एसीई 2 (मूल रूप से ऐपजेट कोड संपादक) कहा जाता है, जो कुंजीपटल शॉर्टकट हैंडलिंग के लिए ज़िम्मेदार प्रतीत होता है।

ace.js फ़ाइल कि डिफ़ॉल्ट रूप से एम्बेडेड है Etherpad के पुराने संस्करण में पढ़ने के लिए न्यूनतम किया जा करने के लिए प्रयोग किया जाता है और इसलिए मुश्किल है, लेकिन आप infrastructure/acepart of the source code, जिसमें से minified संस्करण का उत्पादन किया है में सीधे मूल स्रोत फ़ाइलों को पढ़ सकता। इसके बारे में अधिक जानकारी के लिए, ACE2's README पर एक नज़र डालें। अधिक हाल के संस्करण (कम से कम etherpad.org वाले) में सामान्य एसीई 2 जेएस स्रोत शामिल है।

कुंजीपटल शॉर्टकट हैंडलिंग कोडमें handleKeyEvent() फ़ंक्शन के अंदर स्थित है। इस आधार पर, यह बाहर के बॉक्स समर्थित कीबोर्ड शॉर्टकट की तरह लग रहा अनुसरण कर रहे हैं (कट/कॉपी/पेस्ट की तरह ब्राउज़र की शॉर्टकट के शीर्ष पर):

  • दर्ज करें - विशेष etherpad गाड़ी वापसी
  • टैब या शिफ्ट + टैब - मांगपत्र या आउटडेंट बुलेट सूचियों
  • Ctrl +जेड - विशेष ETH erpad पूर्ववत
  • Ctrl + वाई - विशेष etherpad फिर से करना
  • Ctrl + बी - बोल्ड
  • Ctrl + मैं - इटैलिक
  • Ctrl + यू - अंडरलाइन
  • Ctrl + एच -
  • Ctrl + एस हटाना - वास्तव में स्ट्राइकथ्रू या बुलेट सूचियों, और कुछ भी नहीं है कि शॉर्टकट के लिए एक आसान विस्तार प्रणाली की तरह दिखता है के लिए एक संशोधन

कुछ भी नहीं सहेजें, इसलिए आपको अपने हाथों को गंदे करने की आवश्यकता हो सकती है ;-)

यदि आपके पास ईथरपैड की अपनी तैनाती है तो अतिरिक्त शॉर्टकट को संभालने के लिए एसीई 2 के स्रोत कोड को संशोधित करना सबसे आसान हो सकता है, n यदि आवश्यक हो तो ace2.js minified संस्करण (README में दिए गए निर्देशों के अनुसार) फिर से बनाएं। यहाँ कैसे स्ट्राइकथ्रू टॉगल के लिए Ctrl +एस शॉर्टकट, और Ctrl +बुलेट सूची टॉगल के लिए एल संभाल करने का एक उदाहरण है। स्ट्राइकथ्रू शॉर्टकट बिल्टिन ब्राउजर को इस तरह से अक्षम करता है ... शॉर्टकट, जो मुझे लगता है वह बोनस है, लेकिन अगर आपको यह पसंद नहीं है तो आप हमेशा एस से दूसरी कुंजी चुन सकते हैं।
, समान दिखने वाले ब्लॉक कि अन्य शॉर्टकट संभाल के बीच में ace2_inner.js में निम्नलिखित स्निपेट डालें लाइन 3200 के आसपास:

/* Ctrl+S toggles striketrough, and prevents triggering the browser's Save dialog */ 
if ((!specialHandled) && isTypeForCmdKey && 
    String.fromCharCode(which).toLowerCase() == "s" && 
    (evt.metaKey || evt.ctrlKey)) { 
    // ctrl/cmd-s (strikethrough toggle) 
    fastIncorp(13); // don't ask me ;-) 
    evt.preventDefault(); 
    toggleAttributeOnSelection('strikethrough'); 
    specialHandled = true; 
} 
if ((!specialHandled) && isTypeForCmdKey && 
    String.fromCharCode(which).toLowerCase() == "l" && 
    (evt.ctrlKey)) { 
    // ctrl/cmd-L (bullet list toggle) 
    fastIncorp(9); // seriously, don't ask me ;-) 
    evt.preventDefault(); 
    doInsertUnorderedList(); 
    specialHandled = true; 
} 

आप न्यूनतम किया गया संस्करण पुनर्निर्माण नहीं कर सकता, तो आप भी सीधे यह न्यूनतम किया गया का उपयोग कर पैच करने के लिए कोशिश कर सकते हैं नाम। मेरे लिए उपरोक्त स्निपेट का संक्षिप्त संस्करण यहां दिया गया है, यद्यपि वाईएमएमवी, मैंने यह जांच नहीं की कि क्या खनन स्थिर है और हर बार समान संक्षिप्त नामों का पुन: उपयोग करता है। "Y" (उद्धरण के साथ) के लिए खोज ace.js अंदर handleKeyEvent() की न्यूनतम किया गया संस्करण का पता लगाने की: अंत में

if ((!Cp)&&Cu&&String.fromCharCode(Ct).toLowerCase()=="s"&&(i.metaKey || i.ctrlKey)){G(13);\\ni.preventDefault();c("strikethrough");Cp=true;}if((!Cp)&&Cu&&String.fromCharCode(Ct).toLowerCase()=="l"&&(i.metaKey||i.ctrlKey)){G(9);\\ni.preventDefault();As();Cp=true;} 

, आप उपयोग कर etherpad तैनाती आप शायद कुछ इसी तरह लागू कर सकता है पर नियंत्रण नहीं है, तो एक में ब्राउज़र GreaseMonkey स्क्रिप्ट जो डिफ़ॉल्ट handleKeyEvent() फ़ंक्शन को पैच करती है। संपादक में हुक करने के लिए शुरुआती बिंदु के रूप में, window.pad* ऑब्जेक्ट्स, जैसे कि window.padeditor का निरीक्षण करने का प्रयास करें। उदाहरण के लिए संपादक में कुछ पाठ का चयन करें और कंसोल में निम्न का प्रयास करें:

> window.padeditor.ace.execCommand('bold') 
> window.padeditor.ace.execCommand('insertunorderedlist') 
+0

मौका से कोई ओवरटाइप? –