English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
यह दस्तावेज़ स्वचालित रूप से अनुवादित किया गया है। यदि अनुवाद में कोई त्रुटि है, तो कृपया प्रोजेक्ट पर एक पुल अनुरोध खोलें और docs/{ISO 639-1 कोड}.md
में अनुवादित फ़ाइल जोड़ें।
MJML एक मार्कअप भाषा है जो उत्तरदायी ईमेल कोडिंग की प्रक्रिया को सरल बनाने के लिए विशेष रूप से डिज़ाइन की गई है। इसकी सेमांटिक सिंटेक्स सुगमता और सरलता सुनिश्चित करती है, जबकि इसके मानक घटकों का व्यापक पुस्तकालय विकास को तेज़ करता है और आपके ईमेल कोडबेस की जटिलता को कम करता है। MJML का ओपन-सोर्स इंजन उच्च गुणवत्ता वाला, प्रतिक्रियाशील HTML उत्पन्न करता है जो सर्वोत्तम प्रथाओं का पालन करता है। यदि आपने Outlook के साथ काम करने की तंगी का अनुभव किया है, तो यह पैकेज आपके लिए विशेष रूप से तैयार किया गया है।
हमारा MJML अनुपालन आधिकारिक MJML API के लिए एक लपेट है। यह PHP में MJML को संकलित करने की सुविधा प्रदान करता है, NodeJS की आवश्यकता के बिना। यह पैकेज PHP अनुप्रयोगों के लिए आदर्श है जो MJML को सम्मिलित करना चाहते हैं NodeJS और MJML CLI के स्थापना के बिना परेशानी के बिना।
// बिना Laravel के(new MJML)->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // संक्षेपित HTML के साथ(new MJML)->minify()->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // Laravel के साथMJML::render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // Laravel और संक्षेपित HTML के साथMJML::minify()->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
सबसे पहले, अपने composer.json
फ़ाइल में निम्न को जोड़ें ताकि हमारी पैकेज को स्थापित करते समय सही बाइनरी आपके ऑपरेटिंग सिस्टम से डाउनलोड किया जा सके। बाइनरी आप install
, update
, या dump-autoload
चलाने के बाद डाउनलोड होंगे।
{ "post-autoload-dump": ["DefectiveCode\\MJML\\PullBinary::all"]}
MJML बाइनरी हमारी CDN से प्राप्त की जाएगी और कंपोजर की स्थापना या अपडेट के दौरान इस पैकेज के "बिन" फ़ोल्डर में सहेजी जाएगी। सुनिश्चित करें कि आपके स्थानीय और उत्पादन वातावरण दोनों के लिए आवश्यक बाइनरी लोड हैं।
डिफ़ॉल्ट रूप से, all
सभी बाइनरी खींचेगा जिन्हें हम समर्थित करते हैं। हम सुझाव देते हैं कि आप बैंडविड्थ और स्थापना समय बचाने के लिए इसे ऑपरेटिंग और आर्किटेक्चर सिस्टम पर सीमित करें। निम्नलिखित उपलब्ध बाइनरी हैं।
ऑपरेटिंग सिस्टम | आर्किटेक्चर | कंपोजर पोस्ट अपडेट कमांड |
---|---|---|
सभी | सभी | DefectiveCode\MJML\PullBinary::all |
डार्विन (MacOS) | arm64 | DefectiveCode\MJML\PullBinary::darwin-arm64 |
डार्विन (MacOS) | x64 | DefectiveCode\MJML\PullBinary::darwin-x64 |
लिनक्स | arm64 | DefectiveCode\MJML\PullBinary::linux-arm64 |
लिनक्स | x64 | DefectiveCode\MJML\PullBinary::linux-x64 |
अगले, निम्न कंपोजर कमांड चलाकर PHP पैकेज स्थापित करें:
composer require defectivecode/mjml
यही है! यदि आप Laravel का उपयोग कर रहे हैं, तो हमारी पैकेज स्वचालित रूप से Laravel के पैकेज खोज का उपयोग करके स्थापित हो जाएगी।
यदि आप लारावेल का उपयोग कर रहे हैं तो नीचे दिए गए लारावेल के साथ उपयोग को देखें।
MJML को रेंडर करने के लिए, आपको बस अपनी MJML स्ट्रिंग को render
मेथड में पास करना होगा:
use DefectiveCode\MJML; $html = (new MJML)->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
MJML को सत्यापित करने के लिए, आपको बस अपनी MJML स्ट्रिंग को isValid
मेथड में पास करना होगा:
use DefectiveCode\MJML; $isValid = (new MJML)->isValid( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
MJML को रेंडर करने के लिए, सीधे अपने MJML स्ट्रिंग को MJML फेसेड पर render
के लिए पास करें:
use DefectiveCode\MJML\Facades\MJML; $html = MJML::render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
MJML की जांच करने के लिए, सीधे अपने MJML स्ट्रिंग को MJML फेसेड पर isValid
मेथड के लिए पास करें:
use DefectiveCode\MJML\Facades\MJML; $isValid = MJML::isValid( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>');
आप निम्नलिखित कमांड का उपयोग करके कॉन्फ़िगरेशन फ़ाइल प्रकाशित कर सकते हैं:
php artisan vendor:publish --provider="DefectiveCode\MJML\MJMLServiceProvider"
इससे आपके config
फ़ोल्डर में एक mjml.php
कॉन्फ़िगरेशन फ़ाइल बनाई जाएगी। कॉन्फ़िगरेशन फ़ाइल में सूचीबद्ध सभी विकल्प config
ऑब्जेक्ट को पास किए जाते हैं जब आप MJML फेसेड का उपयोग करते हैं।
सभी कॉन्फ़िगरेशन विकल्पों को MJML ऑब्जेक्ट पर सीधे कॉल करके सेट किया जा सकता है।
use DefectiveCode\MJML; $html = (new MJML) ->setMinify(true) ->setBeautify(false) ->render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>' );
हमारे पैकेज में आधिकारिक MJML पैकेज के इसी कॉन्फ़िगरेशन का पालन किया जाता है निम्नलिखित छोड़कर:
preprocessors
- यह विकल्प उपलब्ध नहीं है। कृपया इस विकल्प को जोड़ने के लिए एक पुल अनुरोध खोलें यदि आप चाहें तो।minifyOptions
- हम html-minifier
का उपयोग करने की बजाय html-minifier-terser
का उपयोग करते हैं। हमने इस प्रोसेसर को स्विच करने का निर्णय लिया क्योंकि html-minifer
अब और नहीं रखा जाता है और इसके साथ कुछ सुरक्षा समस्याएं जुड़ी हुई हैं।हमारे पैकेज डिफ़ॉल्ट रूप से निम्न फ़ॉन्ट का उपयोग करता है:
आप निम्नलिखित विधियों का उपयोग करके फ़ॉन्ट बदल सकते हैं:
addFont(string $font, string $url)
- फ़ॉन्ट को फ़ॉन्ट की सूची में जोड़ें।removeFont(string$font)
- फ़ॉन्ट को फ़ॉन्ट की सूची से हटाएं।setFonts(array $fonts)
- फ़ॉन्ट की सूची सेट करें। आपको इस प्रारूप में फ़ॉन्ट की सूची प्रदान करनी चाहिए: ['फ़ॉन्ट-नाम' => 'फ़ॉन्ट-url']
।टिप्पणियाँ डिफ़ॉल्ट रूप से रखी जाती हैं। यदि आप टिप्पणियों को हटाना चाहते हैं, तो आप removeComments()
विधि का उपयोग कर सकते हैं।
आप टिप्पणियों को वापस लाने के लिए keepComments()
विधि को कॉल करके भी टिप्पणियों को वापस ला सकते हैं।
डिफ़ॉल्ट रूप से, हमारे पैकेज में किसी भी mj-include
टैग को शामिल किया जाएगा। आप इस व्यवहार को समायोजित कर सकते हैं
ignoreIncludes(bool $ignore)
विधि को कॉल करके।
हमारे पैकेज एचटीएमएल को सुंदर बनाएगा js-beautify
का उपयोग करके निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ:
js-beautify
विकल्पों को प्रदान करने के लिएjs-beautify
नागरिकता का उपयोग करने के बावजूद, आपको हमारे पैकेज का उपयोग करते समय camelCase का उपयोग करना चाहिए। हमने इस चुनाव किया है कि हमारे पैकेज को बाकी कॉन्फ़िगरेशन विकल्पों के साथ संगत रखने के लिए हमारे पैकेज खुद बांधेंगे। हमारे पैकेज खुद ही कैमल केस विकल्पों को सर्पिल केस में बदल देगा।
आप निम्नलिखित विधियों का उपयोग करके किसी भी विकल्प को ओवरराइड कर सकते हैं:
setBeautifyOptions(array $options)
- js-beautify
विकल्पों को सेट करें।addBeautifyOption(string $option, mixed $value)
- js-beautify
विकल्प जोड़ें।removeBeautifyOption(string $option)
- js-beautify
विकल्प हटाएं।हमारे पैकेज एचटीएमएल को संक्षेपित करेगा html-minifier-terser
का उपयोग करके निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ:
आप निम्नलिखित विधियों का उपयोग करके किसी भी विकल्प को ओवरराइड कर सकते हैं:
setMinifyOptions(array $options)
- html-minifier-terser
विकल्पों को सेट करें।addMinifyOption(string $option, mixed $value)
- html-minifier-terser
विकल्प जोड़ें।removeMinifyOption(string $option)
- html-minifier-terser
विकल्प हटाएं।हमारे पैकेज डिफ़ॉल्ट रूप से soft
मान्यता स्तर का उपयोग करेगा। आप इसे बदल सकते हैं validationLevel(ValidationLevel $validationLevel)
विधि का उपयोग करके। निम्नलिखित मान्यता स्तर उपलब्ध हैं:
strict
- आपका दस्तावेज़ मान्यता के माध्यम से जा रहा है और यदि इसमें कोई त्रुटि है तो यह प्रदर्शित नहीं किया जाता हैsoft
- आपका दस्तावेज़ मान्यता के माध्यम से जा रहा है और यदि इसमें त्रुटियां हैं तो भी यह प्रहमारे ओपन सोर्स पैकेज का चयन करने के लिए धन्यवाद! कृपया इन समर्थन दिशानिर्देशों की जांच करें। ये आपको हमारे परियोजना से सबसे अधिक लाभ उठाने में मदद करेंगे।
हमारे ओपन सोर्स परियोजना को हमारे शानदार समुदाय द्वारा प्रेरित किया जाता है। यदि आपके पास सवाल हैं या सहायता की आवश्यकता है, तो स्टैकओवरफ्लो और अन्य ऑनलाइन संसाधन आपके सर्वोत्तम विकल्प हैं।
ओपन सोर्स परियोजना का प्रबंधन करने की वास्तविकता यह है कि हम हर रिपोर्ट की गई बग या सुविधा अनुरोध को तुरंत संबोधित नहीं कर सकते हैं। हम निम्नलिखित क्रम में मुद्दों को प्राथमिकता देते हैं:
हमारे भुगतान किए गए उत्पादों पर प्रभाव डालने वाले बग्स हमेशा हमारी प्राथमिकता रहेंगे। कुछ मामलों में, हम केवल हमें प्रभावित करने वाले बग्स को ही संबोधित करेंगे।
यदि आपने कोई बग पहचाना है और एक समाधान है, तो कृपया एक पुल अनुरोध सबमिट करें। हमारे उत्पादों पर प्रभाव डालने वाले मुद्दों के बाद, हम इन समुदाय-प्रेरित सुधारों को अगली सबसे उच्च प्राथमिकता देते हैं। समीक्षा और मंजूरी के बाद, हम आपके समाधान को मर्ज करेंगे और आपके योगदान का श्रेय देंगे।
उल्लिखित श्रेणियों के बाहर के मुद्दों के लिए, आप उनके समाधान के लिए वित्तीय योगदान देने का विकल्प चुन सकते हैं। प्रत्येक खुले मुद्दे को एक आदेश फॉर्म से जोड़ा गया है जहां आप वित्तीय रूप से योगदान कर सकते हैं। हम इन मुद्दों को वित्तीय राशि के आधार पर प्राथमिकता देते हैं।
ओपन सोर्स उन्नत होता है जब उसका समुदाय सक्रिय होता है। यदि आप बग्स को ठीक नहीं कर रहे हैं, तो कोड सुधार, दस्तावेज़ अपडेट, ट्यूटोरियल या समुदाय में दूसरों की सहायता करके योगदान करने का विचार करें। हम सभी को, एक समुदाय के रूप में, ओपन सोर्स कार्य का समर्थन करने की ऊर्जा से प्रेरित करते हैं।
फिर से कहने के लिए, DefectiveCode बग्स को हमारे भुगतान किए गए उत्पादों पर कैसे प्रभावित करते हैं, समुदाय पुल अनुरोधों पर और मुद्दों के लिए प्राप्त वित्तीय समर्थन पर आधारित प्राथमिकता देगा।
कॉपीराइट © डिफेक्टिव कोड, एलएलसी। सभी अधिकार सुरक्षित हैं।
इस सॉफ़्टवेयर और संबद्ध संदर्भ फ़ाइलों (यहाँ तक कि "सॉफ़्टवेयर") की प्रतिलिपि प्राप्त करने वाले किसी भी व्यक्ति को निःशुल्क रूप से अनुमति प्रदान की जाती है, सॉफ़्टवेयर के बिना किसी भी प्रतिबंध के साथ सॉफ़्टवेयर का उपयोग करने, प्रतिलिपि करने, संशोधित करने, मर्ज करने, प्रकाशित करने, वितरित करने, सबलाइसेंस करने और/या सॉफ़्टवेयर की प्रतिलिपि बेचने के अधिकारों को निःशुल्क रूप से प्रदान करने के लिए, और सॉफ़्टवेयर के लिए उपयुक्त शर्तों के अधीन उपयोग करने के लिए उपयुक्त व्यक्तियों को अनुमति प्रदान करने के लिए।
उपरोक्त कॉपीराइट नोटिस और इस अनुमति नोटिस को सभी प्रतिलिपियों या महत्वपूर्ण भागों में शामिल किया जाना चाहिए।
सॉफ़्टवेयर "जैसा है", बिना किसी प्रकार की वारंटी, स्पष्ट या अवधारणात्मक, व्यापारिकता के लिए उपयुक्तता, एक विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघनरहितता के वारंटी के बिना प्रदान की जाती है। कोई भी दावा, क्षति या अन्य दायित्व, संविधानिक, टॉर्ट या अन्यथा, सॉफ़्टवेयर से उत्पन्न होने वाले या सॉफ़्टवेयर के उपयोग से संबंधित, किसी भी दावे के लिए लेखक या कॉपीराइट धारक ज़िम्मेदार नहीं होंगे।