2012-10-11 9 views
7

हम एक grails (Grails 2.1.1) प्रोजेक्ट लिख रहे हैं, जहां हमारे कुछ विचारों के लिए, हम जीएसपी फाइलों के बजाय मार्कडाउन का उपयोग करना चाहते हैं।एक ग्रेल्स के रूप में मार्कडाउन का उपयोग करना

फिलहाल हम इसे विशेष लेआउट में markdown plugin का उपयोग करके कर सकते हैं। यह हमें तो जैसे markdown विचारों प्रस्तुत करने के लिए अनुमति देता है:

render(layout: 'docs', view: 'markdown')

बहरहाल, यह एक .gsp विस्तार, के लिए जब, व्यावहारिक कारणों के लिए, हम इसे जरूरत है एक .md विस्तार के लिए markdown पेज की आवश्यकता है।

क्या किसी को भी ग्रेडडाउन के रूप में मार्कडाउन का उपयोग करने का बेहतर तरीका पता है? अगर हम .gsp एक्सटेंशन का उपयोग करने से बच सकते हैं तो यह बहुत अच्छा होगा।

+1

मुझे लगता है कि जीएसपी फाइलों के रूप में अन्य फ़ाइलों को मैप करने का कोई तरीका है, उदाहरण के लिए जीएसपी-गधे प्लगइन देखें, यह .js फ़ाइलों को जीएसपी के रूप में मैप करता है ताकि जेएस फाइलों को इसकी एक जीएसपी फ़ाइल की तरह संसाधित किया जा सके। यह समाधान हो सकता है। –

+0

धन्यवाद। यह देखने के लिए देखें कि वे इसे कैसे कार्यान्वित करते हैं और देखते हैं कि यह ऐसा कुछ है जिसे हम उपयोग कर सकते हैं। वापस रिपोर्ट करेंगे! – River

+0

इस प्रोजेक्ट की जांच करें: https://github.com/edvinasbartkus/grails-mustache – moskiteau

उत्तर

2

संक्षिप्त उत्तर

आप कुछ भारी संशोधन किए बिना सक्षम नहीं होंगे। वितरित GrailsViewResolver .gsp और .jsp एक्सटेंशन से कड़ी-बंधी है।

सत्यापन के लिए grails-core on github देखें।

लांग उत्तर

आप अपनी खुद की चींटी कार्य फैशन के लिए अपने Grails आवेदन की संकलित चक्र में यह हुक करने ताकि, कम से कम, आप GroovyPageCompiler के माध्यम से अपने * .md फ़ाइलों को संकलित कर सकते हैं सक्षम हो सकता है ।

यह प्रक्रिया this जैसी कुछ दिखाई दे सकती है (हालांकि बिल्कुल नहीं, क्योंकि मैं इस मामले में प्रतिपादन करने के लिए प्लगइन की टैगलिब पर निर्भर हूं, सादगी के लिए)।

लेकिन यह आपकी सभी समस्याओं का समाधान नहीं करता है। आपको एक नया दृश्य रिज़ॉल्वर पंजीकृत करने की भी आवश्यकता होगी, और ऐसा करने के लिए आप अनिवार्य रूप से GrailsDispatcherServlet को फिर से लिखने की सड़क पर जायेंगे।

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

मुझे आशा है कि आपको इनमें से कुछ जानकारी उपयोगी लगेगी।

+0

ओह धन्यवाद, मैं सप्ताह के दौरान उन कक्षाओं पर एक नज़र डालेगा। मुझे आश्चर्य है कि वसंत का उपयोग विशेष उप-वर्गों के साथ उन्हें स्वैप करने के लिए करना कितना आसान होगा। हालांकि मैं अपने वर्तमान समाधान से अधिक खुश हूं, मुझे लगता है कि यह प्रश्न का उत्तर अधिक हो सकता है (जल्द ही फैसला करेगा)। – River

+0

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

+0

उत्तर के लिए धन्यवाद। मुझे लगता है कि अगर हम एक बड़ी परियोजना के लिए इस प्रलेखन तकनीक का उपयोग करने का निर्णय लेते हैं, तो हम शायद .md फ़ाइलों का नाम बदलने के लिए प्लगइन बनाने में सक्षम होंगे, या कुछ इसी तरह के। समय के लिए, मुझे लगता है कि हम conf निर्देशिका विधि से खुश हैं! – River

0

मैंने काफी कुछ किया लेकिन आज एक और दृष्टिकोण के साथ। मैं प्रोजेक्ट की रीडेमे फ़ाइल की सेवा करना चाहता था इसलिए मैं इसे कहीं भी नहीं ले जा सका। मैंने इसे readme.md से grails-app/views/readme/readme.gsp से नरम जोड़ दिया। मैं पूरी चीज के बारे में posted

और हाँ - मुलायम लिंकिंग काम करता है यदि आप और आपके सभी सहकर्मी * -निक्स पर हैं - तो यह ऐसा करने का एक प्लेटफॉर्म तरीका नहीं है।