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 کی ضرورت کے بغیر۔ یہ پیکیج NodeJS اور MJML CLI کو انسٹال کرنے کے پریشانی کے بغیر PHP ایپلیکیشنز کے لئے مثالی ہے جو MJML کو شامل کرنا چاہتے ہیں۔

مثال

// بغیر لاراول
(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>'
);
 
// لاراول کے ساتھ
MJML::render(
'<mjml><mj-body><mj-section><mj-column><mj-text>Hello World</mj-text></mj-column></mj-section></mj-body></mjml>'
);
 
// لاراول کے ساتھ اور مناظرہ 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" لهذه الحزمة أثناء تثبيت أو تحديث composer. تأكد من تحميل الثنائيات اللازمة لكل من بيئتك المحلية والإنتاجية.

    بشكل افتراضي ، سيقوم all بسحب جميع الثنائيات التي ندعمها. نوصي بتحديد نطاق هذا الأمر لأنظمة التشغيل والهندسة المعمارية التي تحتاجها لتوفير النطاق الترددي وأوقات التثبيت. فيما يلي الثنائيات المتاحة.

    نظام التشغيل الهندسة المعمارية أمر تحديث ما بعد Composer
    الكل الكل DefectiveCode\MJML\PullBinary::all
    Darwin (MacOS) arm64 DefectiveCode\MJML\PullBinary::darwin-arm64
    Darwin (MacOS) x64 DefectiveCode\MJML\PullBinary::darwin-x64
    Linux arm64 DefectiveCode\MJML\PullBinary::linux-arm64
    Linux x64 DefectiveCode\MJML\PullBinary::linux-x64
  2. بعد ذلك ، قم بتثبيت حزمة PHP عن طريق تشغيل الأمر composer التالي:

    composer require defectivecode/mjml
  3. هذا كل شيء! إذا كنت تستخدم 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 تنظیم کرد.

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 تنظیم می‌کند. می‌توانید این را با استفاده از متد validationLevel(ValidationLevel $validationLevel) تغییر دهید. سطح‌های اعتبارسنجی زیر در دسترس هستند:

مسیر فایل

بسته ما به طور پیش فرض از مسیر . استفاده می‌کند. می‌توانید این را با استفاده از فراخوانی متد filePath(string $path) تغییر دهید.

Juice

به طور پیش فرض هیچ گزینه juice را ارائه نمی‌دهیم. می‌توانید گزینه‌های juice را با استفاده از متدهای زیر اضافه کنید:

رہنمائی حمایت

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

کمیونٹی کی حمایت

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

بگز اور خصوصیتوں کی ترتیب دیں

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

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

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

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

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

3. مالی حمایت

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

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

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

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

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

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

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

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

سافٹ ویئر "جیسا ہے" فراہم کیا جاتا ہے، کوئی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضمانت کے بغیر، صرفیت کی ضمانت، مخصوص مقصد کی صلاحیت اور کسی بھی طرح کی ضم

MJML - Defective Code