Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

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>'
);

स्थापना

  1. सबसे पहले अपने 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
  2. अगला, निम्नलिखित कंपोज़र कमांड चलाकर PHP पैकेज स्थापित करें:

    composer require defectivecode/mjml
  3. बस इतना ही! यदि आप Laravel का उपयोग कर रहे हैं, तो हमारा पैकेज स्वचालित रूप से Laravel के पैकेज डिस्कवरी का उपयोग करके स्थापित हो जाएगा।

    उपयोग (Laravel के बिना)

यदि आप Laravel का उपयोग कर रहे हैं तो नीचे Laravel के साथ उपयोग देखें।

MJML रेंडर करना

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 को मान्य करने के लिए, बस अपने 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 स्ट्रिंग को 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 स्ट्रिंग को 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 ऑब्जेक्ट पर सीधे निम्नलिखित विधियों को कॉल करके सेट किया जा सकता है।
 
```php
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 पैकेज के उसी कॉन्फ़िगरेशन का पालन करता है सिवाय निम्नलिखित के:

फोंट्स

हमारा पैकेज डिफ़ॉल्ट रूप से निम्नलिखित फोंट्स का उपयोग करता है:

आप निम्नलिखित विधियों का उपयोग करके फोंट्स को बदल सकते हैं:

टिप्पणियाँ

टिप्पणियाँ डिफ़ॉल्ट रूप से रखी जाती हैं। यदि आप टिप्पणियों को हटाना चाहते हैं, तो आप removeComments() विधि का उपयोग कर सकते हैं।

आप keepComments() विधि को कॉल करके removeComments() को भी रद्द कर सकते हैं।

इग्नोर इनक्लूड्स

डिफ़ॉल्ट रूप से, हमारा पैकेज किसी भी mj-include टैग्स को शामिल करेगा। आप ignoreIncludes(bool $ignore) विधि को कॉल करके इस व्यवहार को समायोजित कर सकते हैं।

ब्यूटीफाई

हमारा पैकेज निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ HTML को js-beautify का उपयोग करके सुंदर बनाएगा:

जबकि js-beautify विकल्प प्रदान करने के लिए snake_case का उपयोग करता है, आपको हमारे पैकेज का उपयोग करते समय camelCase का उपयोग करना चाहिए। हमने यह विकल्प चुना है ताकि हमारा पैकेज बाकी कॉन्फ़िगरेशन विकल्पों के साथ सुसंगत रहे। हमारा पैकेज स्वचालित रूप से camelCase विकल्पों को snake_case में बदल देगा।

आप निम्नलिखित विधियों का उपयोग करके इन विकल्पों में से किसी को भी ओवरराइड कर सकते हैं:

मिनिफाई

हमारा पैकेज निम्नलिखित डिफ़ॉल्ट विकल्पों के साथ HTML को html-minifier-terser का उपयोग करके मिनिफाई करेगा:

आप निम्नलिखित विधियों का उपयोग करके किसी भी विकल्प को ओवरराइड कर सकते हैं:

वैलिडेशन लेवल

हमारा पैकेज डिफ़ॉल्ट रूप से soft वैलिडेशन लेवल का उपयोग करके MJML को वैलिडेट करेगा। आप validationLevel(ValidationLevel $validationLevel) विधि का उपयोग करके इसे बदल सकते हैं। निम्नलिखित वैलिडेशन लेवल उपलब्ध हैं:

फ़ाइल पथ

हमारा पैकेज डिफ़ॉल्ट रूप से . निर्देशिका का उपयोग करेगा। आप filePath(string $path) विधि को कॉल करके इसे बदल सकते हैं।

जूस

हम डिफ़ॉल्ट रूप से कोई जूस विकल्प प्रदान नहीं करते हैं। आप निम्नलिखित विधियों का उपयोग करके जूस विकल्प जोड़ सकते हैं:

 
 
```markdown
# समर्थन दिशानिर्देश
 
हमारे ओपन सोर्स पैकेज को चुनने के लिए धन्यवाद! कृपया इन समर्थन दिशानिर्देशों को देखने के लिए एक क्षण निकालें। ये आपको हमारे प्रोजेक्ट का अधिकतम लाभ उठाने में मदद करेंगे।
 
## समुदाय संचालित समर्थन
 
हमारा ओपन-सोर्स प्रोजेक्ट हमारे अद्भुत समुदाय द्वारा संचालित है। यदि आपके पास प्रश्न हैं या सहायता की आवश्यकता है, तो StackOverflow और अन्य ऑनलाइन संसाधन आपके लिए सबसे अच्छे विकल्प हैं।
 
## बग्स और फीचर प्राथमिकता
 
ओपन-सोर्स प्रोजेक्ट को प्रबंधित करने की वास्तविकता का मतलब है कि हम हर रिपोर्ट किए गए बग या फीचर अनुरोध को तुरंत संबोधित नहीं कर सकते। हम मुद्दों को निम्नलिखित क्रम में प्राथमिकता देते हैं:
 
### 1. हमारे भुगतान किए गए उत्पादों को प्रभावित करने वाले बग्स
 
बग्स जो हमारे भुगतान किए गए उत्पादों को प्रभावित करते हैं, हमेशा हमारी शीर्ष प्राथमिकता होंगे। कुछ मामलों में, हम केवल उन बग्स को संबोधित कर सकते हैं जो हमें सीधे प्रभावित करते हैं।
 
### 2. समुदाय पुल अनुरोध
 
यदि आपने किसी बग की पहचान की है और आपके पास उसका समाधान है, तो कृपया एक पुल अनुरोध सबमिट करें। हमारे उत्पादों को प्रभावित करने वाले मुद्दों के बाद, हम इन समुदाय संचालित सुधारों को अगली उच्च प्राथमिकता देते हैं। एक बार समीक्षा और स्वीकृत होने के बाद, हम आपके समाधान को मर्ज करेंगे और आपके योगदान का श्रेय देंगे।
 
### 3. वित्तीय समर्थन
 
उल्लिखित श्रेणियों के बाहर के मुद्दों के लिए, आप उनके समाधान के लिए वित्तीय योगदान कर सकते हैं। प्रत्येक खुले मुद्दे को एक ऑर्डर फॉर्म से जोड़ा गया है जहां आप वित्तीय योगदान कर सकते हैं। हम इन मुद्दों को प्रदान की गई वित्तीय राशि के आधार पर प्राथमिकता देते हैं।
 
### समुदाय योगदान
 
ओपन सोर्स तब फलता-फूलता है जब उसका समुदाय सक्रिय होता है। भले ही आप बग्स को ठीक नहीं कर रहे हों, कोड सुधार, दस्तावेज़ अपडेट, ट्यूटोरियल, या समुदाय चैनलों में दूसरों की सहायता करके योगदान करने पर विचार करें। हम सभी को, एक समुदाय के रूप में, ओपन-सोर्स कार्य का समर्थन करने के लिए प्रोत्साहित करते हैं।
 
_पुनः दोहराने के लिए, DefectiveCode हमारे भुगतान किए गए उत्पादों, समुदाय पुल अनुरोधों, और मुद्दों के लिए प्राप्त वित्तीय समर्थन के आधार पर बग्स को प्राथमिकता देगा।_
# लाइसेंस - एमआईटी लाइसेंस

कॉपीराइट © Defective Code, LLC. सर्वाधिकार सुरक्षित

इस सॉफ़्टवेयर और संबंधित प्रलेखन फ़ाइलों (सॉफ़्टवेयर) की एक प्रति प्राप्त करने वाले किसी भी व्यक्ति को नि:शुल्क अनुमति दी जाती है, जिसमें बिना किसी प्रतिबंध के सॉफ़्टवेयर का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उप-लाइसेंस और/या सॉफ़्टवेयर की प्रतियां बेचने के अधिकार शामिल हैं, और जिन व्यक्तियों को सॉफ़्टवेयर प्रदान किया गया है, उन्हें ऐसा करने की अनुमति दी जाती है, निम्नलिखित शर्तों के अधीन:

उपरोक्त कॉपीराइट नोटिस और यह अनुमति सूचना सॉफ़्टवेयर की सभी प्रतियों या पर्याप्त हिस्सों में शामिल की जानी चाहिए।

सॉफ़्टवेयर "जैसा है" प्रदान किया गया है, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित, जिसमें लेकिन व्यावसायिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और गैर-उल्लंघन की वारंटी शामिल नहीं है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध, टॉर्ट या अन्यथा में हो, जो सॉफ़्टवेयर या सॉफ़्टवेयर के उपयोग या अन्य लेनदेन से उत्पन्न हो।

MJML - Defective Code