English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
# भाषांतर चेतावणी
हे दस्तऐवज स्वयंचलितपणे अनुवादित केले गेले आहे. जर अनुवादात त्रुटी असतील तर कृपया
प्रकल्पावर पुल विनंती उघडा आणि अनुवादित फाइल docs/{ISO 639-1 Code}.md मध्ये जोडा.
MJML ही एक मार्कअप भाषा आहे जी प्रतिसादक्षम ईमेल्स कोडिंगची प्रक्रिया सुलभ करण्यासाठी विशेषतः डिझाइन केली आहे. त्याची सिमॅंटिक सिंटॅक्स सुलभता आणि सोपेपणा सुनिश्चित करते, तर त्याच्या मानक घटकांच्या विस्तृत लायब्ररीमुळे विकास वेगवान होतो आणि तुमच्या ईमेल कोडबेसची जटिलता कमी होते. MJML चे ओपन-सोर्स इंजिन उच्च-गुणवत्तेचे, प्रतिसादक्षम HTML तयार करते जे सर्वोत्तम पद्धतींना अनुसरते. जर तुम्ही Outlook सोबत काम करताना आलेल्या त्रासांचा अनुभव घेतला असेल, तर हे पॅकेज तुमच्यासाठी तयार केले आहे.
आमची MJML अंमलबजावणी अधिकृत MJML API साठी एक रॅपर म्हणून कार्य करते. हे MJML ला HTML मध्ये PHP मध्ये थेट संकलित करण्याची सोय देते, NodeJS ची गरज न ठेवता. हे पॅकेज PHP अनुप्रयोगांसाठी आदर्श आहे जे NodeJS आणि MJML CLI स्थापित करण्याच्या त्रासाशिवाय MJML समाविष्ट करू इच्छितात.
// 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 वरून प्राप्त केली जाईल आणि कॉम्पोजरच्या स्थापना किंवा अपडेट दरम्यान या पॅकेजच्या "bin" फोल्डरमध्ये सेव्ह केली जाईल. आपल्या स्थानिक आणि उत्पादन वातावरणासाठी आवश्यक बायनरीज लोड केल्या आहेत याची खात्री करा.
डीफॉल्टनुसार, all सर्व बायनरीज डाउनलोड करेल. बँडविड्थ आणि स्थापना वेळ वाचवण्यासाठी आपण हे आपल्या आवश्यक ऑपरेटिंग आणि आर्किटेक्चर सिस्टम्सपर्यंत मर्यादित करण्याची शिफारस करतो. खालील बायनरीज उपलब्ध आहेत.
| ऑपरेटिंग सिस्टम | आर्किटेक्चर | कॉम्पोजर पोस्ट अपडेट कमांड |
|---|---|---|
| सर्व | सर्व | DefectiveCode\MJML\PullBinary::all |
| Darwin (MacOS) | arm64 | DefectiveCode\MJML\PullBinary::darwin-arm64 |
| Darwin (MacOS) | x64 | DefectiveCode\MJML\PullBinary::darwin-x64 |
| Linux | arm64 | DefectiveCode\MJML\PullBinary::linux-arm64 |
| Linux | 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>');
# वापर (Laravel सह) ## MJML रेंडर करणे MJML रेंडर करण्यासाठी, फक्त तुमचा MJML स्ट्रिंग MJML फसाडवरील `render` ला पास करा: ```phpuse 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 कॉन्फिगरेशन फाइल तयार करेल. कॉन्फिगरेशन फाइलमध्ये सूचीबद्ध सर्व पर्याय MJML फसाड वापरताना config ऑब्जेक्टला पास केले जातात.
# कॉन्फिगरेशन सर्व कॉन्फिगरेशन पर्याय MJML ऑब्जेक्टवर थेट खालील पद्धतींना कॉल करून सेट केले जाऊ शकतात. ```phpuse 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-terser वापरतो, तर अधिकृत पॅकेज html-minifier वापरते. आम्ही प्रोसेसर बदलण्याचा निर्णय घेतला कारण html-minifer आता देखभाल केले जात नाही आणि त्यास काही सुरक्षा समस्या आहेत.आमचे पॅकेज डिफॉल्टनुसार खालील फॉन्ट्स वापरते:
तुम्ही खालील पद्धती वापरून फॉन्ट्स बदलू शकता:
addFont(string $font, string $url) - फॉन्ट्सच्या यादीमध्ये फॉन्ट जोडा.removeFont(string$font) - फॉन्ट्सच्या यादीमधून फॉन्ट काढा.setFonts(array $fonts) - फॉन्ट्सची यादी सेट करा. तुम्ही फॉन्ट्सची यादी या स्वरूपात प्रदान करावी: ['font-name' => 'font-url'].टिप्पण्या डिफॉल्टनुसार ठेवलेल्या असतात. तुम्हाला टिप्पण्या काढायच्या असल्यास, तुम्ही removeComments() पद्धत वापरू शकता.
तुम्ही removeComments() परत करण्यासाठी keepComments() पद्धत कॉल करू शकता.
डिफॉल्टनुसार, आमचे पॅकेज कोणत्याही mj-include टॅग्स समाविष्ट करेल. तुम्ही ignoreIncludes(bool $ignore) पद्धत कॉल करून हे वर्तन समायोजित करू शकता.
आमचे पॅकेज खालील डिफॉल्ट पर्यायांसह js-beautify वापरून HTML सुंदर करेल:
जरी
js-beautifyपर्याय प्रदान करण्यासाठी snake_case वापरते, तरी आमचे पॅकेज वापरताना तुम्ही camelCase वापरावे. आमच्या पॅकेजला उर्वरित कॉन्फिगरेशन पर्यायांसह सुसंगत ठेवण्यासाठी आम्ही हा पर्याय निवडला. आमचे पॅकेज स्वयंचलितपणे camelCase पर्यायांना snake_case मध्ये रूपांतरित करेल.
तुम्ही खालील पद्धती वापरून कोणतेही पर्याय ओव्हरराइड करू शकता:
setBeautifyOptions(array $options) - js-beautify पर्याय सेट करा.addBeautifyOption(string $option, mixed $value) - js-beautify पर्याय जोडा.removeBeautifyOption(string $option) - js-beautify पर्याय काढा.आमचे पॅकेज खालील डिफॉल्ट पर्यायांसह html-minifier-terser वापरून HTML मिनिफाय करेल:
तुम्ही खालील पद्धती वापरून कोणतेही पर्याय ओव्हरराइड करू शकता:
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 - तुमचा दस्तऐवज वैधतेतून जातो आणि त्यात त्रुटी असल्या तरी तो रेंडर होतोskip - तुमचा दस्तऐवज वैधतेतून न जाता रेंडर होतो.आमचे पॅकेज डिफॉल्टनुसार . निर्देशिका वापरेल. तुम्ही filePath(string $path) पद्धत कॉल करून हे बदलू शकता.
आम्ही डिफॉल्टनुसार कोणतेही ज्यूस पर्याय प्रदान करत नाही. तुम्ही खालील पद्धती वापरून ज्यूस पर्याय जोडू शकता:
setJuiceOptions(array $options) - ज्यूस पर्याय सेट करा.
addJuiceOption(string $option, mixed $value) - ज्यूस पर्याय जोडा.
removeJuiceOption(string $option) - ज्यूस पर्याय काढा.
setJuicePreserveTags(array $tags) - ज्यूस संरक्षित टॅग्स सेट करा.
addJuicePreserveTag(string $tag, mixed $value) - ज्यूस संरक्षित टॅग जोडा.
removeJuicePreserveTag(string $tag) - ज्यूस संरक्षित टॅग काढा.
आमचे ओपन सोर्स पॅकेज निवडल्याबद्दल धन्यवाद! कृपया या समर्थन मार्गदर्शक तत्त्वांची तपासणी करण्यासाठी एक क्षण घ्या. हे तुम्हाला आमच्या प्रकल्पाचा अधिकाधिक फायदा घेण्यास मदत करतील.
आमचा ओपन-सोर्स प्रकल्प आमच्या अद्भुत समुदायाद्वारे चालविला जातो. तुम्हाला प्रश्न असल्यास किंवा मदतीची गरज असल्यास, StackOverflow आणि इतर ऑनलाइन संसाधने तुमचे सर्वोत्तम पर्याय आहेत.
ओपन-सोर्स प्रकल्पाचे व्यवस्थापन करण्याची वास्तविकता म्हणजे आम्ही प्रत्येक नोंदवलेल्या बग किंवा वैशिष्ट्य विनंतीला त्वरित संबोधित करू शकत नाही. आम्ही खालील क्रमाने समस्यांना प्राधान्य देतो:
आमच्या सशुल्क उत्पादनांवर परिणाम करणारे बग्स नेहमीच आमचे सर्वोच्च प्राधान्य असतील. काही प्रकरणांमध्ये, आम्ही फक्त आमच्यावर थेट परिणाम करणारे बग्सच संबोधित करू शकतो.
तुम्ही बग ओळखला आहे आणि तुमच्याकडे उपाय आहे, कृपया पुल विनंती सबमिट करा. आमच्या उत्पादनांवर परिणाम करणाऱ्या समस्यांनंतर, आम्ही या समुदाय-चालित निराकरणांना पुढील सर्वोच्च प्राधान्य देतो. एकदा पुनरावलोकन आणि मंजूर झाल्यानंतर, आम्ही तुमचे निराकरण विलीन करू आणि तुमच्या योगदानाचे श्रेय देऊ.
उल्लेख केलेल्या श्रेणींव्यतिरिक्तच्या समस्यांसाठी, तुम्ही त्यांच्या निराकरणासाठी निधी देण्याचा पर्याय निवडू शकता. प्रत्येक उघड्या समस्येशी ऑर्डर फॉर्म लिंक केलेला आहे जिथे तुम्ही आर्थिक योगदान देऊ शकता. आम्ही दिलेल्या निधीच्या रकमेच्या आधारे या समस्यांना प्राधान्य देतो.
ओपन सोर्स त्याचा समुदाय सक्रिय असताना फुलतो. तुम्ही बग्स निश्चित करत नसल्यास देखील, कोड सुधारणा, दस्तऐवज अद्यतने, ट्यूटोरियल्स किंवा समुदाय चॅनेलमध्ये इतरांना मदत करून योगदान देण्याचा विचार करा. आम्ही सर्वांना, एक समुदाय म्हणून, ओपन-सोर्स कामाला समर्थन देण्यासाठी प्रोत्साहित करतो.
पुन्हा सांगायचे तर, DefectiveCode आमच्या सशुल्क उत्पादनांवर, समुदाय पुल विनंत्यांवर आणि समस्यांसाठी प्राप्त झालेल्या आर्थिक समर्थनावर आधारित बग्सना प्राधान्य देईल.
# परवाना - एमआयटी परवाना
कॉपीराइट © डिफेक्टिव कोड, एलएलसी. सर्व हक्क राखीव
या सॉफ्टवेअरची आणि संबंधित दस्तऐवजीकरण फाइल्सची (यापुढे "सॉफ्टवेअर") प्रत मिळवणाऱ्या कोणत्याही व्यक्तीस, शुल्क न आकारता, सॉफ्टवेअरचा वापर, प्रत, सुधारणा, विलीन, प्रकाशित, वितरण, उप-परवाना आणि/किंवा सॉफ्टवेअरच्या प्रत विकण्याचे अधिकार, आणि ज्यांना सॉफ्टवेअर पुरवले जाते त्यांना हे करण्याची परवानगी देण्याचे अधिकार, कोणत्याही निर्बंधाशिवाय, यासह परवानगी दिली जाते.
वरील कॉपीराइट नोटीस आणि ही परवानगी सूचना सॉफ्टवेअरच्या सर्व प्रतिंमध्ये किंवा महत्त्वपूर्ण भागांमध्ये समाविष्ट केली पाहिजे.
सॉफ्टवेअर "जसे आहे" तशाच स्थितीत पुरवले जाते, कोणत्याही प्रकारची हमी न देता, स्पष्ट किंवा अप्रत्यक्ष, यासह परंतु मर्यादित नाही, विक्रीयोग्यता, विशिष्ट उद्देशासाठी उपयुक्तता आणि उल्लंघन न होण्याच्या हमींसह. कोणत्याही परिस्थितीत लेखक किंवा कॉपीराइट धारक कोणत्याही दाव्यासाठी, नुकसानासाठी किंवा इतर कोणत्याही जबाबदारीसाठी, करारात, अत्याचारात किंवा अन्यथा, सॉफ्टवेअरमधून किंवा सॉफ्टवेअरच्या वापरातून किंवा इतर व्यवहारांमधून उद्भवणाऱ्या, जबाबदार राहणार नाहीत.