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 | 中文

اپگریڈنگ

اگر آپ پچھلی ورژن سے اپگریڈ کر رہے ہیں تو براہ کرم اپگریڈ گائیڈ میں ضمنی تبدیلیوں اور منتقلی کے مراحل کے لیے دیکھیں۔

تعارف

MJML ایک مارک اپ زبان ہے جو خاص طور پر جوابدہ ای میلز کے کوڈنگ کے عمل کو سادہ بنانے کے لیے ڈیزائن کی گئی ہے۔ اس کی معنوی نحو آسانی اور سادگی کو یقینی بناتی ہے، جبکہ اس کی وسیع لائبریری معیاری اجزاء کی ترقی کو تیز کرتی ہے اور آپ کے ای میل کوڈ بیس کی پیچیدگی کو کم کرتی ہے۔ ایم جے ایم ایل کا اوپن سورس انجن اعلیٰ معیار کی، جوابدہ ایچ ٹی ایم ایل تیار کرتا ہے جو بہترین طریقوں کے مطابق ہوتا ہے۔ اگر آپ نے آؤٹ لک کے ساتھ کام کرنے میں پریشانیوں کا سامنا کیا ہے، تو یہ پیکیج آپ کے لیے بنایا گیا ہے۔

ہمارا ایم جے ایم ایل کے نفاذ کو سرکاری ایم جے ایم ایل ای پی آئی کے لیے ایک لپیٹ کے طور پر کام کرتا ہے۔ یہ ایم جے ایم ایل کو براہ راست پی ایچ پی میں ایچ ٹی ایم ایل میں جانے کی سہولت دیتا ہے، نوڈ جیس کی ضرورت کے بغیر۔ یہ پیکیج ان پی ایچ پی ایپلی کیشنز کے لیے مثالی ہے جو ایم جے ایم ایل کو شامل کرنا چاہتی ہیں بغیر نوڈ جیس اور ایم جے ایم ایل سی ایل آئی کے انسٹالیشن کی پریشانی کے۔

مثال

// بغیر لاراول
(new MJML)->render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// مختصر کردہ ایچ ٹی ایم ایل
(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>'
);
 
// لاراول کے ساتھ اور مختصر کردہ ایچ ٹی ایم ایل
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"]
    }

    ایم جے ایم ایل بائنری ہمارے سی ڈی این سے حاصل کی جائے گی اور کمپوزر کی تنصیب یا اپ ڈیٹ کے دوران اس پیکیج کے "bin" فولڈر میں محفوظ کی جائے گی۔ یہ یقینی بنائیں کہ آپ کے مقامی اور پیداواری ماحول کے لیے ضروری بائنریز لوڈ ہوں۔

    ڈیفالٹ کے طور پر، all ان تمام بائنری کو کھینچتا ہے جن کی ہم حمایت کرتے ہیں۔ ہم اس بات کی سفارش کرتے ہیں کہ آپ اسے ان آپریٹنگ اور آرکیٹیکچر سسٹمز تک محدود کریں جن کی آپ کو بینڈوتھ اور انسٹالیشن کے اوقات میں بچت کے لیے ضرورت ہے۔ دستیاب بائنریز درج ذیل ہیں۔

    آپریٹنگ سسٹم آرکیٹیکچر کمپوزر پوسٹ اپ ڈیٹ کمانڈ
    سب سب DefectiveCode\MJML\PullBinary::all
    ڈارون (میک او ایس) arm64 DefectiveCode\MJML\PullBinary::darwin-arm64
    ڈارون (میک او ایس) x64 DefectiveCode\MJML\PullBinary::darwin-x64
    لینکس (glibc) arm64 DefectiveCode\MJML\PullBinary::linux-arm64
    لینکس (glibc) x64 DefectiveCode\MJML\PullBinary::linux-x64
    لینکس (musl) arm64 DefectiveCode\MJML\PullBinary::linux-arm64-musl
    لینکس (musl) x64 DefectiveCode\MJML\PullBinary::linux-x64-musl
  2. اس کے بعد، درج ذیل کمپوزر کمانڈ کو چلا کر پی ایچ پی پیکیج انسٹال کریں:

    composer require defectivecode/mjml
  3. بس اتنا ہی! اگر آپ لاراول کا استعمال کر رہے ہیں، تو ہمارا پیکیج خود بخود لاراول کے پیکیج کی دریافت کا استعمال کرتے ہوئے انسٹال ہوگا۔

استعمال (بغیر لاراول)

اگر آپ لاراول کا استعمال کر رہے ہیں تو نیچے لاراول کے ساتھ استعمال دیکھیں۔

ایم جے ایم ایل کو رینڈر کرنا

ایم جے ایم ایل کو رینڈر کرنے کے لیے، سادہ طور پر اپنی ایم جے ایم ایل سٹرنگ کو render طریقہ میں پاس کریں:

use DefectiveCode\MJML\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>'
);

ایم جے ایم ایل کی توثیق کرنا

ایم جے ایم ایل کی توثیق کرنے کے لیے، سادہ طور پر اپنی ایم جے ایم ایل سٹرنگ کو isValid طریقہ میں پاس کریں:

use DefectiveCode\MJML\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>'
);

استعمال (لاراول کے ساتھ)

ایم جے ایم ایل کو رینڈر کرنا

ایم جے ایم ایل کو رینڈر کرنے کے لیے، سادہ طور پر ایم جے ایم ایل فیساد پر 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>'
);

ایم جے ایم ایل کی توثیق کرنا

ایم جے ایم ایل کی توثیق کرنے کے لیے، سادہ طور پر ایم جے ایم ایل فیساد پر 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 آبجیکٹ کو دیے جاتے ہیں۔

کنفیگریشن

تمام کنفیگریشن کے اختیارات کو ایم جے ایم ایل آبجیکٹ پر براہ راست درج ذیل طریقوں کو کال کرکے سیٹ کیا جا سکتا ہے۔

use DefectiveCode\MJML\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>'
);

ہمارا پیکیج سرکاری ایم جے ایم ایل پیکیج کی طرح ہی کنفیگریشن اختیار کرتا ہے سواے ذیل کے:

فونٹس

ہمارا پیکیج بطور ڈیفالٹ مندرجہ ذیل فونٹس استعمال کرتا ہے:

آپ درج ذیل طریقوں کا استعمال کرکے فونٹس تبدیل کر سکتے ہیں:

تبصرے

تبصرے بطور ڈیفالٹ محفوظ رہتے ہیں۔ اگر آپ تبصرے ہٹانا چاہتے ہیں تو آپ removeComments() طریقہ استعمال کر سکتے ہیں۔

آپ removeComments() کو keepComments() طریقہ کال کرکے بھی واپس لوٹ سکتے ہیں۔

شامل کو نظرانداز کریں

بطور ڈیفالٹ، ہمارا پیکیج mj-include ٹیگ کو نظرانداز کرتا ہے۔ یہ ایم جے ایم ایل 5 کے محفوظ ڈیفالٹ سے ہم آہنگ ہے۔ آپ ignoreIncludes(false) کال کرکے شامل کو فعال کر سکتے ہیں۔

شامل کو فعال کرتے وقت، بیس ڈائریکٹری کے طور پر filePath(string $path) استعمال کریں اور اضافی شامل کی ڈائریکٹریوں کی اجازت دینے کے لیے includePath(string|array|null $path)۔

خوبصورت بنائیں

ہمارا پیکیج ایچ ٹی ایم ایل کو js-beautify کا استعمال کرکے خوبصورت بنائے گا۔ ایم جے ایم ایل 5.2 بھی اندرونی طور پر js-beautify کا استعمال کرتا ہے، لیکن یہ پیکیج لپیٹ کی سطح کی خوبصورتی کو برقرار رکھتا ہے تاکہ حسب ضرورت پی ایچ پی beautifyOptions کام کرتے رہیں۔ ڈیفالٹ آپشنز یہ ہیں:

اگرچہ js-beautify آپشنز فراہم کرنے کے لیے snake_case استعمال کرتا ہے، لیکن آپ کو ہمارے پیکیج کا استعمال کرتے وقت camelCase استعمال کرنا چاہیے۔ ہم نے اس انتخاب کو اپنی پیکیج کو کنفیگریشن کے دیگر اختیارات کے ساتھ مستقل رکھنے کے لیے بنایا۔ ہمارا پیکیج خود بخود camelCase آپشنز کو snake_case میں تبدیل کر دے گا۔

آپ ان میں سے کسی بھی آپشن کو فراہم کر کے درست js-beautify کنفیگریشن کے ذریعہ override کر سکتے ہیں:

مختصر کریں

ہمارا پیکیج ایچ ٹی ایم ایل آؤٹ پٹ کو مختصر کرے گا جب کہ یہ فعال ہو۔ مختصر کرنے کے مراحل درج ذیل ہیں:

آپ minify(bool $minify) طریقہ کو کال کرکے مختصر کرنے کو فعال یا غیر فعال کر سکتے ہیں۔

کیوں PHP پر مبنی مختصر کرنا؟ ایم جے ایم ایل 5 اب پرانے خطرناک html-minifier پیکیج کا استعمال نہیں کرتا ہے۔ یہ پیکیج اب بھی مختصر کرنے کو پی ایچ پی میں برقرار رکھتا ہے تاکہ ورژن 2.x میں متعارف کرائے گئے آؤٹ پٹ کے رویے کو محفوظ رکھا جا سکے۔ اگر آپ کو ایم جے ایم ایل 5 کی قدرتی htmlnano/cssnano مختصر کرنے کے اختیارات کی ضرورت ہو تو مطلوبہ آپشن کی شکل کے ساتھ ایک مسئلہ کھولیں۔

توثیق کی سطح

ہمارا پیکیج بطور ڈیفالٹ soft توثیق کی سطح کا استعمال کرتے ہوئے ایم جے ایم ایل کی توثیق کرے گا۔ آپ validationLevel(ValidationLevel $validationLevel) طریقہ کا استعمال کرکے اس کی تبدیلی کر سکتے ہیں۔ دستیاب توثیق کی درج ذیل سطحیں ہیں:

فائل کا راستہ

ہمارا پیکیج بطور ڈیفالٹ . ڈائریکٹری کا استعمال کرے گا۔ آپ filePath(string $path) طریقہ کو کال کرکے اس کو تبدیل کر سکتے ہیں۔

ایم جے ایم ایل 5 filePath کو شامل کرنے والے سینڈ باکس کی بنیاد کے طور پر سمجھتا ہے۔ اگر شامل کیے گئے ہیں تو، filePath سے باہر کے راستوں کو مسترد کیا جاتا ہے جب تک کہ انہیں includePath(string|array|null $path) کے ساتھ واضح طور پر اجازت نہ دی جائے۔

جوس

ہم بطور ڈیفالٹ کوئی جوس آپشنز فراہم نہیں کرتے۔ آپ درج ذیل طریقوں کا استعمال کرکے جوس کے آپشنز شامل کر سکتے ہیں:

سپورٹ کی رہنمائی

ہمارے اوپن سورس پیکیج کا انتخاب کرنے کے لیے شکریہ! براہ کرم ان سپورٹ رہنما خطوط پر ایک لمحہ صرف کریں۔ یہ آپ کو ہمارے پروجیکٹ سے زیادہ سے زیادہ فائدہ اٹھانے میں مدد کریں گے۔

کمیونٹی کی بنیاد پر مدد

ہمارا اوپن سورس پروجیکٹ ہماری شاندار کمیونٹی کی مدد سے چلتا ہے۔ اگر آپ کے پاس سوالات ہیں یا مدد کی ضرورت ہے تو، StackOverflow اور دیگر آن لائن وسائل آپ کے بہترین دوست ہیں۔

کیڑے اور فیچر کی ترجیحات

اوپن سورس پروجیکٹ کا انتظام کرنے کی حقیقت یہ ہے کہ ہم ہر رپورٹ شدہ کیڑے یا فیچر کی درخواست کو فوری طور پر نہیں حل کر سکتے۔ ہم مسائل کو درج ذیل ترتیب میں ترجیح دیتے ہیں:

1. ہماری ادائیگی شدہ مصنوعات پر اثر انداز ہونے والے کیڑے

وہ کیڑے جو ہماری ادائیگی شدہ مصنوعات پر اثر انداز ہوتے ہیں ہمیشہ ہماری پہلی ترجیح ہوں گے۔ کچھ معاملات میں، ہم صرف ان کیڑوں کو حل کریں گے جو براہ راست ہمیں متاثر کرتے ہیں۔

2. کمیونٹی کی طرف سے پول ریگسٹس

اگر آپ نے کسی کیڑے کی نشاندہی کی ہے اور آپ کے پاس حل ہے، تو براہ کرم پول ریگسٹس جمع کرائیں۔ اپنی مصنوعات سے متعلق مسائل کے بعد، ہم ان کمیونٹی کی بنیاد پر درستگیوں کو اگلی سب سے بڑی ترجیح دیتے ہیں۔ جائزہ لینے اور منظور ہونے کے بعد، ہم آپ کے حل کو ضم کریں گے اور آپ کی شراکت کو تسلیم کریں گے۔

3. مالی مدد

ذکر کردہ زمرے سے باہر کے مسائل کے لیے، آپ ان کا حل کرنے کے لئے مالی امداد فراہم کرنے کا انتخاب کر سکتے ہیں۔ ہر اوپن مسئلہ ایک آرڈر فارم سے منسلک ہے جہاں آپ مالی طور پر تعاون کر سکتے ہیں۔ ہم ان مسائل کو فراہم کردہ فنڈنگ کی رقم کی بنیاد پر ترجیح دیتے ہیں۔

کمیونٹی کی شراکتیں

اوپن سورس اس وقت بڑھتا ہے جب اس کی کمیونٹی فعال ہو۔ چاہے آپ کیڑے حل نہیں کر رہے ہوں، کوڈ کی بہتریوں، دستاویز کے اپ ڈیٹس، سبقیں، یا کمیونٹی چینلز میں دوسروں کی مدد کے ذریعے شراکت دینے پر غور کریں۔ ہم بالعموم سب کو، ایک کمیونٹی کے طور پر، اوپن سورس کام کی مدد کرنے کی ترغیب دیتے ہیں۔

دوہرانے کے لیے، DefectiveCode کیڑے کو اس بنیاد پر ترجیح دے گا کہ وہ ہمارے ادائیگی شدہ پروڈکٹس، کمیونٹی کی پول ریگسٹس اور مسائل کے لئے موصولہ مالی مدد پر کس طرح اثر انداز ہوتے ہیں۔

لائسنس - MIT لائسنس

کاپی رائٹ © Defective Code, LLC. تمام حقوق محفوظ ہیں

یہاں پر کسی بھی شخص کو یہ سافٹ ویئر اور اس سے وابستہ دستاویزات کی کاپی حاصل کرنے کی اجازت دی جاتی ہے (جسے "سافٹ ویئر" کہا جاتا ہے)، تاکہ وہ سافٹ ویئر میں کسی بھی پابندی کے بغیر کام کر سکے، بشمول بغیر کسی حد کے، استعمال کرنے، کاپی کرنے، ترمیم کرنے، یکجا کرنے، شائع کرنے، تقسیم کرنے، ذیلی لائسنس دینے اور/یا سافٹ ویئر کی کاپیوں کو بیچنے کے حقوق حاصل کرنے، اور ان لوگوں کو اجازت دینے کا کہ جنہیں سافٹ ویئر فراہم کیا گیا ہے، کہ وہ ایسا کرسکیں، مندرجہ ذیل شرائط کے تابع:

اوپر کا کاپی رائٹ نوٹس اور یہ اجازت نامہ سافٹ ویئر کی تمام کاپیوں یا اہم حصوں میں شامل کیا جائے گا۔

یہ سافٹ ویئر "جیسا ہے" فراہم کیا جاتا ہے، بغیر کسی قسم کی وارنٹی، واضح یا مضمر، بشمول لیکن محدود نہیں، مارکیٹ ایبیلٹی، کسی خاص مقصد کے لئے موزونیت اور خلاف ورزی کے وارنٹیوں کے۔ کسی بھی صورت میں مصنفین یا کاپی رائٹ ہولڈرز کسی بھی دعوے، نقصانات یا دیگر ذمہ داریوں کے لئے ذمہ دار نہیں ہوں گے، چاہے وہ معاہدے کے ایکشن، غلطی یا کسی اور طریقے سے ہو، جو سافٹ ویئر یا سافٹ ویئر کے استعمال یا دیگر معاملات سے پیدا ہو، یا اس سے متعلق ہو۔