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 کے لیے ایک ریپر کے طور پر کام کرتا ہے۔ یہ 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>'
);

تنصیب

  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 کے ساتھ استعمال دیکھیں۔

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

استعمال (Laravel کے ساتھ)

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 سٹرنگ کو 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 پیکج سوائے مندرجہ ذیل کے:

فونٹس

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

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

تبصرے

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

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

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

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

جوس

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

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

کمیونٹی کی زیر قیادت معاونت

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

بگز اور فیچر کی ترجیح

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

1. ہمارے پیڈ پروڈکٹس کو متاثر کرنے والے بگز

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

2. کمیونٹی پل ریکویسٹ

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

3. مالی معاونت

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

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

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

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

# لائسنس - ایم آئی ٹی لائسنس

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

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

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

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

MJML - Defective Code