2008-12-27 16 views
7

मुझे स्टैक ओवरफ़्लो टिप्पणी UI बहुत अच्छा सौदा पसंद है और मैं अपनी वेबसाइट पर एक ही चीज़ को लागू करने की सोच रहा हूं। मैंने कोड को देखा और ऐसा लगता है कि यहां मुख्य उपकरण WMD है, जिसमें JQuery TextArea Resizer सहायक भूमिका निभा रहा है।स्टैक ओवरफ़्लो-स्टाइल टिप्पणियों को लागू करने के विचार

डब्लूएमडी क्लाइंट साइड पर मार्कडाउन को एचटीएमएल में परिवर्तित करता है। यह बहुत अच्छा है क्योंकि यह पूर्वावलोकन के साथ मदद करता है लेकिन सर्वर पर भेजते समय मैं एक चुनौती में भाग लेता हूं। यदि कोई सत्यापन त्रुटि है (कहें कि उपयोगकर्ता ने टिप्पणी फ़ॉर्म के किसी अन्य भाग पर एक अवैध ई-मेल पता दर्ज किया है, या उसने अपना नाम शायद दर्ज नहीं किया है), तो सर्वर त्रुटि संदेश के साथ फॉर्म को फिर से चलाने के द्वारा प्रतिक्रिया देता है और फॉर्म फ़ील्ड प्रीपोप्टेड। केवल अब टिप्पणी टेक्स्ट HTML है, मार्कडाउन नहीं, क्योंकि सर्वर ने मार्कडाउन को कभी नहीं देखा। लेकिन मैं इसे मार्कडाउन होना चाहता हूं क्योंकि उपयोगकर्ता यही दर्ज कर रहा था।

कोई विचार यहाँ है?

मैं माना जाता है विभिन्न विचारों:

  • सर्वर की ओर से HTML-to-Markdown transformation करो। इस विचार के बारे में उत्साहित नहीं है। लगता है कि होक्का को मार्कडाउन से एचटीएमएल में फिर से मार्कडाउन में बदलने के लिए लगता है, और जब उपयोगकर्ता सॉफ़्टवेयर को मेरे टेक्स्ट/कोड को दोबारा सुधारता है तो मुझे हमेशा परेशान लगता है।
  • क्लाइंट-साइड सत्यापन (सर्वर-साइड सत्यापन को बढ़ाने के लिए, जिसे मैं निश्चित रूप से बनाए रखूंगा)। एक उचित दिशा की तरह लगता है हालांकि वर्तमान में मैं अपने टिप्पणी फॉर्म पर रीकैप्चा का उपयोग कर रहा हूं, जिसका अर्थ है कि मुझे कम से कम reCAPTCHA भाग को सर्वर पर पोस्ट करने की आवश्यकता है।
  • डब्लूएमडी खोना और सर्वर पर एचटीएमएल को एचटीएमएल में बदलने के लिए MarkdownJ का उपयोग करें। मुझे पूर्वावलोकन फ़ंक्शन को पूरा करने के लिए कुछ अन्य तंत्र की तलाश करनी होगी, जिसे मैं रखना चाहता हूं।

आदर्श रूप से पाठ के मार्कडाउन संस्करण पर पहुंचने के लिए कुछ तरीका होगा और एचटीएमएल के अलावा सर्वर को सबमिट करें, लेकिन मुझे यह जानने के लिए एक जावास्क्रिप्ट लड़का पर्याप्त नहीं है कि यह असली है या नहीं संभावना।

किसी भी सुझाव की सराहना की।

उत्तर

5

यह प्रश्न देखें: Convert HTML back to Markdown for editing in wmd (दाएं हाथ के नौसेना पर "संबंधित" बॉक्स के लिए yay!)।

+0

धन्यवाद क्रिस। यही वह है जिसकी तलाश में मैं हूं। मुझे लगता है कि इस बार आरटीएफआर द्वारा काटा गया। –

3

मैंने केवल एक कर्सर स्तर पर डब्लूएमडी देखा है, लेकिन सर्वर पर टेक्स्टरेरा सबमिट करना काफी सीधे लगता है - असल में, मैं शायद ही कभी देखता हूं कि अगर टेक्स्टटेरा आपके फॉर्म का हिस्सा है तो आप शायद इससे कैसे बच सकते हैं। जैसा कि मैं इसे समझता हूं, आपके टेक्स्टरेरा में मार्कअप होता है, और डब्लूएमडी इसे आपके पृष्ठ के किसी अन्य भाग में प्रदर्शित करने के लिए HTML में परिवर्तित करता है। बस सबमिट किए गए फॉर्म में टेक्स्टरेरा शामिल करें और आपको इसे सर्वर की तरफ देखना चाहिए।

+3

हाँ, हम पुनः प्राप्त करने के

wmd_options = { //Markdown or HTML output: "Markdown" }; 

जोड़ने कॉल से पहले और "कच्चे" पाठ एक उपयोगकर्ता इतने पर यहाँ में प्रवेश करती है की दुकान - वास्तव में जिस तरह से आप का वर्णन! –

+0

हाँ, मैंने इसे टेक्स्टरेरा को ठीक से सबमिट कर दिया है ... यह सिर्फ इतना है कि ब्राउज़र सर्वर पर HTML भेज रहा है, मार्कडाउन नहीं। लेकिन ऐसा लगता है कि क्रिस की प्रतिक्रिया से डब्लूएमडी विकल्पों में से एक सर्वर को मार्कडाउन के रूप में भेजना है। एसटी, आरटीएफएम द्वारा काटा गया। :- पी –

5

मैं डेटा को मार्कडाउन के रूप में भेजूंगा और फिर सत्यापन को पारित होने पर सर्वर को HTML में परिवर्तित करने दें। डब्लूएमडी के पास डेटा के प्रारूप को निर्दिष्ट करने का विकल्प है जो यह सर्वर को भेजेगा। बस wmd

संबंधित मुद्दे