2008-09-24 13 views
11

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

यदि मैं उत्पादित HTML को सहेजता हूं तो मैं इसे पुनर्प्राप्त कर सकता हूं और इसे सही तरीके से प्रदर्शित कर सकता हूं, लेकिन पुन: संपादित करने पर मुझे HTML संपादित करने का सामना करना पड़ रहा है, मार्कडाउन नहीं। हालांकि, अगर मैं मार्कडाउन को सहेजता हूं तो मैं इसे वापस प्रदर्शित करने के लिए एचटीएमएल में परिवर्तित करने का कोई तरीका नहीं देख सकता, और स्टैक ओवरव्लो को देखकर यह ब्राउज़र HTML भेजता है।

मुझे लगता है कि मुझे दोनों को बचाने की ज़रूरत नहीं है, तो मुझे क्या सरल चीज़ याद आ रही है?

उत्तर

6

बिल्कुल Markdown कोड को बचाने उपभोक्ता।

फिर आपको मार्कडाउन कनवर्टर की आवश्यकता होगी जो इसे प्रदर्शित करने के लिए HTML में परिवर्तित कर देगा।

आप अपने मामले में जे एस का उपयोग कर के खिलाफ
http://en.wikipedia.org/wiki/Markdown#Converters
और
http://markdown.infogami.com/

मैं वोट चाहते हैं पर इनमें से एक गुच्छा मिल जाएगा। ऐसा लगता है कि .NET implementation है लेकिन मैं आपको यह नहीं बता सकता कि यह कितना अच्छा है।

अपने पृष्ठ को प्रस्तुत करते समय आपको ऊपर दिए गए कनवर्टर को मार्कडाउन कोड पारित करना होगा और फिर लौटाए गए HTML को आउटपुट करना होगा।

यदि प्रदर्शन एक मुद्दा है तो आप मार्कडाउन कोड (बाद में संपादन के लिए) और HTML कोड (प्रदर्शित करने के लिए) डेटाबेस दोनों को सहेजने पर भी विचार कर सकते हैं। इस तरह यह केवल एक बार परिवर्तित हो जाएगा।

+0

धन्यवाद लासार, मैंने वास्तव में एस्पनेटर्स स्रोत साइट का दौरा किया था लेकिन पूरी तरह से स्रोत कोड के लिंक को याद किया था! – tags2k

+0

-1 क्या यह एक बार परिवर्तित करने और स्टोर करने के लिए और अधिक सक्षम नहीं होगा और बिना एचटीएमएल के रूपांतरण के इसे फिर से चलाएगा? मेरा मतलब है कि इसे संपादित करने के बजाय सामग्री को अधिक बार प्रदर्शित किया जाएगा। – Eimantas

+0

@Lasar: जावास्क्रिप्ट का उपयोग कर मार्कडाउन और एचटीएमएल दोनों स्टोर करने के लिए कोई ट्यूटोरियल? :)। मैं इस समाधान को समझ नहीं पा रहा हूं, कोई भी उदाहरण अधिक स्पष्ट है – Loint

-1

मैं डेटाबेस में सटीक दर्ज टेक्स्ट को सहेजने का सुझाव दूंगा, इसलिए संपादन मूल मार्कडाउन या HTML के साथ काम करेगा।

जब आप प्रदर्शन के लिए पाठ को पुनः प्राप्त है, आप इसे सर्वर साइड पर पार्स और HTML में कन्वर्ट जहां आवश्यक

[संपादित करें] टिप्पणी पर: आप पार्स करने का एक तरीका है लगता है और पहले से ही एचटीएमएल में कनवर्ट , अगर मैं आपके प्रश्न को सही ढंग से समझता हूं। यहां आप उत्पादित HTML के बारे में बात करते हैं।

मैं उत्पादित एचटीएमएल सहेजते हैं तो मैं निकालते हैं और इसे सही ढंग से प्रदर्शित कर सकते हैं, लेकिन पर पुनः संपादित मैं संपादन एचटीएमएल का सामना करना पड़ रहा हूँ, markdown नहीं के रूप में द्वारा दर्ज

+0

यह बहुत अच्छा है, लेकिन जैसा कि मैंने कहा था, "मैं इसे वापस प्रदर्शित करने के लिए एचटीएमएल में परिवर्तित करने का कोई तरीका नहीं देख सकता", इसलिए किसी प्रकार की जावास्क्रिप्ट उपयोगिता या .NET नियंत्रण का लिंक अस्वस्थ नहीं होगा। मैंने भी कोई फायदा नहीं हुआ है! – tags2k

+0

डब्लूएमडी संपादक एक पूर्वावलोकन समारोह प्रदान करता है, जो HTML पर प्राप्त करने का एकमात्र तरीका है। स्पष्ट रूप से मैं उपयोगकर्ता को सामग्री प्रदर्शित करने पर हर बार एक डब्लूएमडी नियंत्रण को चालू नहीं कर सकता। – tags2k