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 के लिए एक आवरण के रूप में कार्य करता है। यह MJML को सुविधाजनक रूप से संकलन करने की सुविधा प्रदान करता है PHP में सीधे HTML में, NodeJS की आवश्यकता के बिना। यह पैकेज NodeJS और MJML CLI की स्थापना के बिना MJML को शामिल करना चाहते हैं PHP अनुप्रयोगों के लिए आदर्श है।
// लारावेल के बिना(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>'); // लारावेल के साथMJML::render( '<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'); // लारावेल के साथ और संक्षेपित 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 बायनरी आमच्या सीडीएनमधून मिळविली जाईल आणि कॉम्पोझरच्या स्थापना किंवा अद्यतनाच्या वेळी या पॅकेजच्या "बिन" फोल्डरमध्ये सेव केली जाईल. आपल्याकडे आपल्या स्थानिक आणि उत्पादन वातावरणासाठी आवश्यक बायनरी लोड केली आहे हे सुनिश्चित करा.
डिफॉल्टप्रमाणे, 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 वापरत असाल तर, आपल्या पॅकेजला स्वतःची स्थापना लागेल लारावेलच्या पॅकेज डिस्कवरीचा वापर करताना.
जर आपण लाराव्हेल वापरत असाल तर खालील लाराव्हेल सह वापर पाहा.
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 फेसेडवर रेंडर
द्वारे पाठवावं:
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)
विधि को कॉल करके।
हमारे पैकेज डिफ़ॉल्ट रूप से HTML को js-beautify
का उपयोग करके सुंदर बनाएगा निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ:
js-beautify
विकल्पों को प्रदान करने के लिएjs-beautify
नागरिकता का उपयोग करने के बावजूद, आपको हमारे पैकेज का उपयोग करते समय camelCase का उपयोग करना चाहिए। हमने इस चुनाव को अपने पैकेज को बाकी कॉन्फ़िगरेशन विकल्पों के साथ संगत रखने के लिए किया है। हमारे पैकेज खुद camelCase विकल्पों को स्नेक_केस में स्वचालित रूप से परिवर्तित कर देगा।
आप निम्नलिखित विधियों का उपयोग करके किसी भी विकल्प को अधिलेखित कर सकते हैं:
setBeautifyOptions(array $options)
- js-beautify
विकल्पों को सेट करें।addBeautifyOption(string $option, mixed $value)
- js-beautify
विकल्प जोड़ें।removeBeautifyOption(string $option)
- js-beautify
विकल्प हटाएं।हमारे पैकेज डिफ़ॉल्ट रूप से HTML को html-minifier-terser
का उपयोग करके मिनीफ़ाई करेगा निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ:
आप निम्नलिखित विधियों का उपयोग करके किसी भी विकल्प को अधिलेखित कर सकते हैं:
setMinifyOptions(array $options)
- html-minifier-terser
विकल्पों को सेट करें।addMinifyOption(string $option, mixed $value)
- html-minifier-terser
विकल्प जोड़ें।removeMinifyOption(string $option)
- html-minifier-terser
विकल्प हटाएं।हमारे पैकेज डिफ़ॉल्ट रूप से soft
मान्यता स्तर का उपयोग करके MJML को मान्यता करेगा। आप इसे बदल सकते हैं
validationLevel(ValidationLevel $validationLevel)
विधि का उपयोग करके। निम्नलिखित मान्यता स्तर उपलब्ध हैं:
strict
- आपका दस्तावेज़ मान्यता के माध्यम से जा रहा है और यदि इसमें कोई त्रुटि है तो यह प्रदर्शित नहीं किया जाता हैsoft
- आपका दस्तावेज़ मान्यता के माध्यम से जा रहा है और यदि इसमें त्रुटियां हैं तोआमच्या ओपन सोर्स पॅकेजचा निवड करण्याबद्दल धन्यवाद! कृपया थोडं वेळ घेऊन आमच्या समर्थन मार्गदर्शनांची तपासणी करा. ते आपल्याला आमच्या प्रकल्पातून जास्त मदत मिळवण्यास मदत करतील.
आमच्या ओपन-सोर्स प्रकल्पाची शक्ती आमच्या अद्वितीय समुदायाने देते. आपल्याकडे प्रश्न असल्यास किंवा मदतीची गरज असल्यास, स्टॅकओव्हरफ्लो आणि इतर ऑनलाइन स्रोते आपल्या सर्वोत्तम विकल्पांत आहेत.
ओपन-सोर्स प्रकल्प व्यवस्थापित करण्याची वास्तविकता असलेल्या बग किंवा सुविधा विनंतीला तात्पुरतीपणे परवानगी देण्याची अर्थव्यवस्था असते. आम्ही खालील क्रमाने मुद्दे प्राथमिकता देतो:
आमच्या पेड प्रोडक्टवर परिणाम असलेले बग आपल्या सर्वोत्तम प्राथमिकतेचे असतील. काहीवेळा, आम्ही केवळ आमच्यावर परिणाम असलेले बग दुरुस्त करणार आहोत.
आपण एक बग ओळखला आहे आणि आपल्याकडे एक उपाय आहे, कृपया पुल विनंती सबमिट करा. आमच्या प्रोडक्टवर परिणामांवर असलेल्या मुद्द्यांनंतर, आम्ही या समुदाय-द्वारे नियोजित केलेल्या दुरुस्तींना पुढील सर्वाधिक प्राथमिकता देतो. तपासल्यानंतर आणि मंजूर केल्यानंतर, आम्ही आपले उपाय संयोजित करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीकृती करून आपल्या योगदानाची स्वीक
कॉपीराइट © डिफेक्टिव कोड, एलएलसी। सर्वाधिकार सुरक्षित
इस सॉफ्टवेयर और संबंधित दस्तावेज़ फ़ाइलों (यहाँ तक कि "सॉफ्टवेयर") की कॉपी प्राप्त करने वाले किसी भी व्यक्ति को निःशुल्क रूप से अनुमति दी जाती है, सॉफ्टवेयर के बिना प्रतिबंध के साथ सॉफ्टवेयर का उपयोग करने, प्रतिलिपि बनाने, संशोधित करने, मर्ज करने, प्रकाशित करने, वितरित करने, उप-लाइसेंस और/या सॉफ्टवेयर की प्रतिलिपि बेचने के अधिकारों को और उन्हें इसे करने की अनुमति दी जाती है, इसके अलावा उन व्यक्तियों को जिन्हें सॉफ्टवेयर प्रदान किया जाता है, इसे करने की अनुमति दी जाती है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट नोटिस और इस अनुमति नोटिस को सभी प्रतिलिपियों या महत्वपूर्ण भागों में शामिल किया जाना चाहिए।
सॉफ्टवेयर "जैसा कि है" प्रदान की जाती है, किसी भी प्रकार की वारंटी के बिना, स्पष्ट या अवधारणात्मक, व्यापारिकता के लिए उपयुक्तता, एक विशेष उद्देश्य के लिए उपयुक्तता और उसके उपयोग या अन्यथा संबंधित किसी भी दावे, क्षति या अन्य दायित्व के लिए किसी भी प्रकार की ज़िम्मेदारी के बिना, उपलब्ध कराई जाती है।