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 उत्पन्न करता है जो सर्वोत्तम प्रथाओं का पालन करता है। यदि आपने आउटलुक के साथ काम करने की निराशाओं का अनुभव किया है, तो यह पैकेज आपके लिए तैयार किया गया है।
हमारा MJML कार्यान्वयन आधिकारिक MJML API के लिए एक रैपर के रूप में कार्य करता है। यह PHP के भीतर सीधे MJML को HTML में संकलित करने की सुविधा प्रदान करता है, बिना 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 |
डार्विन (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 के पैकेज डिस्कवरी का उपयोग करके स्थापित हो जाएगा।
यदि आप 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
कॉन्फ़िगरेशन फ़ाइल बनाएगा। कॉन्फ़िगरेशन फ़ाइल में सूचीबद्ध सभी विकल्पों को 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-minifier
अब मेंटेन नहीं है और इसमें कुछ सुरक्षा मुद्दे जुड़े हुए हैं।हमारा पैकेज डिफ़ॉल्ट रूप से निम्नलिखित फोंट्स का उपयोग करता है:
आप निम्नलिखित विधियों का उपयोग करके फोंट्स को बदल सकते हैं:
addFont(string $font, string $url)
- फोंट्स की सूची में एक फोंट जोड़ें।removeFont(string$font)
- फोंट्स की सूची से एक फोंट हटाएं।setFonts(array $fonts)
- फोंट्स की सूची सेट करें। आपको इस प्रारूप में फोंट्स की एक सरणी प्रदान करनी चाहिए: ['font-name' => 'font-url']
।टिप्पणियाँ डिफ़ॉल्ट रूप से रखी जाती हैं। यदि आप टिप्पणियों को हटाना चाहते हैं, तो आप removeComments()
विधि का उपयोग कर सकते हैं।
आप keepComments()
विधि को कॉल करके removeComments()
को भी रद्द कर सकते हैं।
डिफ़ॉल्ट रूप से, हमारा पैकेज किसी भी mj-include
टैग्स को शामिल करेगा। आप ignoreIncludes(bool $ignore)
विधि को कॉल करके इस व्यवहार को समायोजित कर सकते हैं।
हमारा पैकेज निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ HTML को js-beautify
का उपयोग करके सुंदर बनाएगा:
जबकि
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 को 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
- आपका दस्तावेज़ वैलिडेशन से गुजरता है और त्रुटियों के बावजूद इसे रेंडर किया जाता है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)
- एक जूस प्रिजर्व टैग हटाएं। ```markdown# समर्थन दिशानिर्देश हमारे ओपन सोर्स पैकेज को चुनने के लिए धन्यवाद! कृपया इन समर्थन दिशानिर्देशों को देखने के लिए एक क्षण निकालें। ये आपको हमारे प्रोजेक्ट का अधिकतम लाभ उठाने में मदद करेंगे। ## समुदाय संचालित समर्थन हमारा ओपन-सोर्स प्रोजेक्ट हमारे अद्भुत समुदाय द्वारा संचालित है। यदि आपके पास प्रश्न हैं या सहायता की आवश्यकता है, तो StackOverflow और अन्य ऑनलाइन संसाधन आपके लिए सबसे अच्छे विकल्प हैं। ## बग्स और फीचर प्राथमिकता ओपन-सोर्स प्रोजेक्ट को प्रबंधित करने की वास्तविकता का मतलब है कि हम हर रिपोर्ट किए गए बग या फीचर अनुरोध को तुरंत संबोधित नहीं कर सकते। हम मुद्दों को निम्नलिखित क्रम में प्राथमिकता देते हैं: ### 1. हमारे भुगतान किए गए उत्पादों को प्रभावित करने वाले बग्स बग्स जो हमारे भुगतान किए गए उत्पादों को प्रभावित करते हैं, हमेशा हमारी शीर्ष प्राथमिकता होंगे। कुछ मामलों में, हम केवल उन बग्स को संबोधित कर सकते हैं जो हमें सीधे प्रभावित करते हैं। ### 2. समुदाय पुल अनुरोध यदि आपने किसी बग की पहचान की है और आपके पास उसका समाधान है, तो कृपया एक पुल अनुरोध सबमिट करें। हमारे उत्पादों को प्रभावित करने वाले मुद्दों के बाद, हम इन समुदाय संचालित सुधारों को अगली उच्च प्राथमिकता देते हैं। एक बार समीक्षा और स्वीकृत होने के बाद, हम आपके समाधान को मर्ज करेंगे और आपके योगदान का श्रेय देंगे। ### 3. वित्तीय समर्थन उल्लिखित श्रेणियों के बाहर के मुद्दों के लिए, आप उनके समाधान के लिए वित्तीय योगदान कर सकते हैं। प्रत्येक खुले मुद्दे को एक ऑर्डर फॉर्म से जोड़ा गया है जहां आप वित्तीय योगदान कर सकते हैं। हम इन मुद्दों को प्रदान की गई वित्तीय राशि के आधार पर प्राथमिकता देते हैं। ### समुदाय योगदान ओपन सोर्स तब फलता-फूलता है जब उसका समुदाय सक्रिय होता है। भले ही आप बग्स को ठीक नहीं कर रहे हों, कोड सुधार, दस्तावेज़ अपडेट, ट्यूटोरियल, या समुदाय चैनलों में दूसरों की सहायता करके योगदान करने पर विचार करें। हम सभी को, एक समुदाय के रूप में, ओपन-सोर्स कार्य का समर्थन करने के लिए प्रोत्साहित करते हैं। _पुनः दोहराने के लिए, DefectiveCode हमारे भुगतान किए गए उत्पादों, समुदाय पुल अनुरोधों, और मुद्दों के लिए प्राप्त वित्तीय समर्थन के आधार पर बग्स को प्राथमिकता देगा।_
# लाइसेंस - एमआईटी लाइसेंस
कॉपीराइट © Defective Code, LLC. सर्वाधिकार सुरक्षित
इस सॉफ़्टवेयर और संबंधित प्रलेखन फ़ाइलों (सॉफ़्टवेयर) की एक प्रति प्राप्त करने वाले किसी भी व्यक्ति को नि:शुल्क अनुमति दी जाती है, जिसमें बिना किसी प्रतिबंध के सॉफ़्टवेयर का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उप-लाइसेंस और/या सॉफ़्टवेयर की प्रतियां बेचने के अधिकार शामिल हैं, और जिन व्यक्तियों को सॉफ़्टवेयर प्रदान किया गया है, उन्हें ऐसा करने की अनुमति दी जाती है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट नोटिस और यह अनुमति सूचना सॉफ़्टवेयर की सभी प्रतियों या पर्याप्त हिस्सों में शामिल की जानी चाहिए।
सॉफ़्टवेयर "जैसा है" प्रदान किया गया है, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित, जिसमें लेकिन व्यावसायिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और गैर-उल्लंघन की वारंटी शामिल नहीं है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध, टॉर्ट या अन्यथा में हो, जो सॉफ़्टवेयर या सॉफ़्टवेयर के उपयोग या अन्य लेनदेन से उत्पन्न हो।