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 کے لیے ایک ریپر کے طور پر کام کرتا ہے۔ یہ 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 |
ڈارون (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 facade پر 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 facade پر 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 facade استعمال کرتے وقت config
آبجیکٹ کو پاس کیے جاتے ہیں۔
تمام ترتیب کے اختیارات کو 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-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)
طریقہ کال کرکے ایڈجسٹ کر سکتے ہیں۔
ہمارا پیکج 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)
- ایک جوس محفوظ ٹیگ ہٹائیں۔
ہمارا اوپن سورس پیکج منتخب کرنے کا شکریہ! براہ کرم ان معاونت کے رہنما اصولوں کو دیکھنے کے لیے ایک لمحہ نکالیں۔ یہ آپ کو ہمارے پروجیکٹ سے زیادہ سے زیادہ فائدہ اٹھانے میں مدد کریں گے۔
ہمارا اوپن سورس پروجیکٹ ہماری شاندار کمیونٹی کے ذریعے چلتا ہے۔ اگر آپ کے پاس سوالات ہیں یا مدد کی ضرورت ہے، تو StackOverflow اور دیگر آن لائن وسائل آپ کے بہترین اختیارات ہیں۔
اوپن سورس پروجیکٹ کا انتظام کرنے کی حقیقت یہ ہے کہ ہم ہر رپورٹ شدہ بگ یا فیچر کی درخواست کو فوری طور پر حل نہیں کر سکتے۔ ہم مسائل کو درج ذیل ترتیب میں ترجیح دیتے ہیں:
بگز جو ہمارے پیڈ پروڈکٹس کو متاثر کرتے ہیں ہمیشہ ہماری اولین ترجیح ہوں گے۔ کچھ معاملات میں، ہم صرف ان بگز کو حل کریں گے جو ہمیں براہ راست متاثر کرتے ہیں۔
اگر آپ نے کوئی بگ شناخت کیا ہے اور اس کا حل ہے، تو براہ کرم پل ریکویسٹ جمع کروائیں۔ ہمارے پروڈکٹس کو متاثر کرنے والے مسائل کے بعد، ہم ان کمیونٹی کی زیر قیادت اصلاحات کو اگلی اعلی ترجیح دیتے ہیں۔ جائزہ لینے اور منظوری کے بعد، ہم آپ کے حل کو ضم کریں گے اور آپ کی شراکت کا کریڈٹ دیں گے۔
مذکورہ زمروں سے باہر کے مسائل کے لیے، آپ ان کے حل کے لیے مالی تعاون کا انتخاب کر سکتے ہیں۔ ہر کھلے مسئلے کو ایک آرڈر فارم سے منسلک کیا گیا ہے جہاں آپ مالی تعاون کر سکتے ہیں۔ ہم ان مسائل کو فراہم کردہ فنڈنگ کی رقم کی بنیاد پر ترجیح دیتے ہیں۔
اوپن سورس اس وقت پروان چڑھتا ہے جب اس کی کمیونٹی فعال ہو۔ یہاں تک کہ اگر آپ بگز کو ٹھیک نہیں کر رہے ہیں، تو کوڈ میں بہتری، دستاویزات کی تازہ کاری، ٹیوٹوریلز، یا کمیونٹی چینلز میں دوسروں کی مدد کے ذریعے شراکت پر غور کریں۔ ہم سب کو، بطور کمیونٹی، اوپن سورس کام کی حمایت کرنے کی بھرپور حوصلہ افزائی کرتے ہیں۔
دوبارہ دہرانے کے لیے، DefectiveCode بگز کو اس بنیاد پر ترجیح دے گا کہ وہ ہمارے پیڈ پروڈکٹس، کمیونٹی پل ریکویسٹ، اور مسائل کے لیے موصول ہونے والی مالی معاونت کو کیسے متاثر کرتے ہیں۔
# لائسنس - ایم آئی ٹی لائسنس
کاپی رائٹ © Defective Code, LLC. جملہ حقوق محفوظ ہیں
اجازت دی جاتی ہے، بغیر کسی قیمت کے، کسی بھی شخص کو جو اس سافٹ ویئر اور متعلقہ دستاویزات کی فائلوں ( "سافٹ ویئر") کی ایک کاپی حاصل کرتا ہے، سافٹ ویئر کے ساتھ بغیر کسی پابندی کے نمٹنے کے لئے، بشمول بغیر کسی حد کے حقوق استعمال کرنے، کاپی کرنے، ترمیم کرنے، ضم کرنے، شائع کرنے، تقسیم کرنے، سب لائسنس دینے، اور/یا سافٹ ویئر کی کاپیاں فروخت کرنے کے، اور ان افراد کو جنہیں سافٹ ویئر فراہم کیا گیا ہے، ایسا کرنے کی اجازت دینے کے، بشرطیکہ درج ذیل شرائط پوری کی جائیں:
مندرجہ بالا کاپی رائٹ نوٹس اور یہ اجازت نوٹس سافٹ ویئر کی تمام کاپیوں یا اس کے بڑے حصوں میں شامل کی جائیں۔
سافٹ ویئر "جیسا ہے" کی بنیاد پر فراہم کیا جاتا ہے، بغیر کسی قسم کی وارنٹی کے، چاہے وہ ظاہر ہو یا مضمر، بشمول لیکن محدود نہیں، تجارتی قابلیت، کسی خاص مقصد کے لئے موزونیت اور عدم خلاف ورزی کی وارنٹیوں تک۔ کسی بھی صورت میں مصنفین یا کاپی رائٹ ہولڈرز کسی بھی دعوی، نقصانات یا دیگر ذمہ داری کے لئے ذمہ دار نہیں ہوں گے، چاہے وہ معاہدے میں ہو، ٹارٹ میں ہو یا کسی اور صورت میں، جو سافٹ ویئر سے پیدا ہو، سافٹ ویئر کے استعمال یا دیگر معاملات کے ساتھ تعلق میں ہو۔