2011-01-24 8 views
5

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

मुझे क्लाइंट को प्रतिपादन दृश्य के कम से कम इस हिस्से को ऑफ़लोड करने में रूचि है। मैंने पहले रेलवे अनुप्रयोगों में बड़ी सफलता के साथ क्लाइंट-साइड जावास्क्रिप्ट मार्कडाउन पार्सर्स का उपयोग किया है। मैं बॉडी ऑब्जेक्ट को markdown-parseme के डीओएम सम्मिलन के लिए देखने के लिए प्रतिनिधि दूंगा या फिर इसे पार्स करने और परिणाम के साथ मूल पाठ को प्रतिस्थापित करने के लिए।

लेकिन यह पहली बार है जब मैं इसे जंगली उत्पादन स्थल के लिए विचार कर रहा हूं। क्लाइंट को मार्कडाउन प्रतिपादन को संभालने के दौरान गॉर्च और सुरक्षा चिंताओं क्या हैं? क्या कोई विशिष्ट पुस्तकालय है जो इन मुद्दों को ध्यान में रखता है?

संपादित करें: स्पष्ट चिंता है कि दिमाग में स्प्रिंग्स "जावास्क्रिप्ट के बिना उन लोगों के बारे में क्या है"। ब्राउज़र की पहचान करने के लिए यह हमारी क्षमताओं के भीतर पूरी तरह से है, जिसमें जावास्क्रिप्ट सक्षम नहीं है और एक तंत्र को कार्यान्वित करने के लिए जो ग्राहकों को (शायद मैन्युअल रूप से) ध्वजांकित करने की अनुमति देगा कि उनके पास जेएस नहीं है और सर्वर पक्ष में पार्सिंग को स्थानांतरित करने की अनुमति है। संगतता के इस सामान्य प्रश्न से परे क्लाइंट को ऑफलोडिंग मार्कडाउन पार्सिंग के साथ गंभीर समस्याएं हैं, तो मैं जांच करना चाहूंगा। आउटपुट कैशिंग के बिना एक निश्चित रूप से आकार वाले पृष्ठ को प्रस्तुत करना प्रतिक्रिया समय पर एक गैर-नगण्य राशि जोड़ रहा है और उसके माध्यम से, सर्वर लोड होता है, और यह अच्छा होगा अगर हम उस कार्य को 95% उपयोगकर्ताओं के लिए सर्वर से बाहर ले जाने में विश्वास कर सकें ।

+0

ग्राहक के लिए कदम क्यों? खुद को AJAX कॉल को बचाने के लिए? – sdleihssirhc

+0

एक स्पष्ट समस्या जावास्क्रिप्ट सक्षम करने के लिए अनिवार्य बना रही है। –

+1

बहुत से वेब अनुप्रयोगों के लिए, जावास्क्रिप्ट की कमी का मतलब है कि आप या तो पहले स्थान पर एप्लिकेशन का उपयोग नहीं कर रहे हैं, या अन्यथा आप एक पूरी तरह से अलग एप्लिकेशन के लिए कितनी मात्रा का उपयोग कर रहे हैं। – Pointy

उत्तर

1

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

0

markdown-js अभी तक समाप्त नहीं हुआ है, लेकिन यह मार्कडाउन के उप-समूह के लिए एक जावास्क्रिप्ट लाइब्रेरी है जो HTML रूपांतरण के विभिन्न चरणों के बजाय एएसटी का उपयोग करता है। इसे शुरुआत से ही साइन एचटीएमएल का उत्पादन करना चाहिए। मुझे लगता है कि यह दृष्टिकोण, अगर सही तरीके से निष्पादित किया गया है, तो ग्राहक पक्ष पर व्यावहारिक रूप से प्रतिपादन चिह्नण करेगा।

यह जानबूझकर एम्बेडेड HTML का समर्थन नहीं करता है।

3

आजकल, अधिकांश लोग जावास्क्रिप्ट का उपयोग करते हैं, इसलिए यह कोई समस्या नहीं होनी चाहिए। showdown लाइब्रेरी क्लाइंट साइड प्रतिपादन के लिए बहुत अच्छी है।

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