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 কোড}.md নামে অনুবাদিত ফাইল যোগ করুন।

পরিচিতি

MJML হলো একটি মার্কআপ ভাষা যা প্রতিক্রিয়াশীল ইমেল কোডিং প্রক্রিয়াটি সহজ করতে উদ্ভাবিত হয়েছে। এর সেম্যান্টিক সিনট্যাক্স সহজতা এবং সহজতার নিশ্চয়তা নিশ্চিত করে, যেখানে এর স্ট্যান্ডার্ড কম্পোনেন্টগুলির বিস্তৃত লাইব্রেরি উন্নত করে উন্নত করে এবং আপনার ইমেল কোডবেসের জটিলতা হ্রাস করে। MJML এর ওপেন-সোর্স ইঞ্জিনটি উচ্চ মানের, প্রতিক্রিয়াশীল HTML তৈরি করে যা সেরা প্রথাগত অনুশীলন মেনে চলে। যদি আপনি Outlook সঙ্গে কাজ করার ব্যথা অনুভব করেন, তবে এই প্যাকেজটি আপনার জন্য অনুযায়ী করা হয়েছে।

আমাদের MJML অনুযায়ী অনুপ্রয়োগটি আধিকারিক MJML API এর একটি আবর্তক হিসাবে কাজ করে। এটি সুবিধাজনক করে MJML কম্পাইল করতে PHP এর মধ্যে HTML এ সরাসরি, NodeJS এর প্রয়োজন ছাড়াই। এই প্যাকেজটি PHP অ্যাপ্লিকেশনগুলিতে আপনি যেখানে NodeJS এবং MJML CLI ইনস্টল করার ঝামেলা ছাড়াই 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 বাইনারি আমাদের সিডিএন থেকে পাওয়া হবে এবং এই প্যাকেজের "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. পরবর্তীতে, নিম্নলিখিত কমান্ড চালানোর মাধ্যমে পিএইচপি প্যাকেজটি ইনস্টল করুন:

    composer require defectivecode/mjml
  3. এটা হয়ে গেল! যদি আপনি লারাভেল ব্যবহার করেন, আমাদের প্যাকেজটি স্বয়ংক্রিয়ভাবে লারাভেলের প্যাকেজ ডিসকভারি ব্যবহার করে ইনস্টল হবে।

ব্যবহার (লারাভেল ছাড়া)

লারাভেল ব্যবহার করলে নীচে লারাভেল ব্যবহার দেখুন।

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 অবজেক্টে পাঠানো হয়।

কনফিগারেশন

সমস্ত কনফিগারেশন অপশন আপনি এক্সপ্রেস এমজেএমএল অবজেক্টের উপর সরাসরি মেথড কল করে সেট করতে পারেন।

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

আমাদের প্যাকেজটি অফিসিয়াল এমজেএমএল প্যাকেজের একই কনফিগারেশন অনুসরণ করে নিম্নলিখিত ব্যতিক্রমগুলির সাথে সামঞ্জস্যপূর্ণ:

ফন্ট

আমাদের প্যাকেজটি ডিফল্টভাবে নিম্নলিখিত ফন্টগুলি ব্যবহার করে:

আপনি নিম্নলিখিত মেথডগুলি ব্যবহার করে ফন্টগুলি পরিবর্তন করতে পারেন:

মন্তব্য

মন্তব্যগুলি ডিফল্টভাবে রাখা হয়। যদি আপনি মন্তব্যগুলি সরাতে চান তবে আপনি removeComments() মেথডটি ব্যবহার করতে পারেন।

আপনি একটি removeComments() মেথড কল করে মন্তব্যগুলি পুনর্স্থাপন করতে পারেন।

ইনক্লুড উপেক্ষা করুন

ডিফল্টভাবে, আমাদের প্যাকেজটি যেকোনো mj-include ট্যাগগুলি অন্তর্ভুক্ত করবে। আপনি এই আচরণটি সংশোধন করতে পারেন ignoreIncludes(bool $ignore) মেথডটি কল করে।

সুন্দরভাবে করুন

আমাদের প্যাকেজটি ডিফল্টভাবে HTML সুন্দরভাবে করবে js-beautify ব্যবহার করে নিম্নলিখিত ডিফল্ট অপশনগুলি সহ:

js-beautify অপশনগুলি প্রদান করতে স্নেক_কেস ব্যবহার করে, তবে আপনার প্যাকেজটি ব্যবহার করার সময় আপনাকে ক্যামেল_কেস ব্যবহার করতে হবে। আমরা এই সিদ্ধান্তটি নিয়েছি আমাদের প্যাকেজটিকে বাকি কনফিগারেশন অপশনগুলির সাথে সংগতিপূর্ণ রাখতে। আমাদের প্যাকেজটি স্বয়ংক্রিয়ভাবে ক্যামেল_কেস অপশনগুলিকে স্নেক_কেস অপশনগুলিতে রূপান্তর করবে।

আপনি নিম্নলিখিত মেথডগুলি ব্যবহার করে যেকোনো অপশন পরিবর্তন করতে পারেন:

মিনিফাই

আমাদের প্যাকেজটি ডিফল্টভাবে HTML মিনিফাই করবে html-minifier-terser ব্যবহার করে নিম্নলিখিত ডিফল্ট অপশনগুলি সহ:

আপনি নিম্নলিখিত মেথডগুলি ব্যবহার করে যেকোনো অপশন পরিবর্তন করতে পারেন:

সমর্থন নির্দেশিকা

আমাদের ওপেন সোর্স প্যাকেজ বেছে নিয়ে ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকা পরীক্ষা করার জন্য কিছু সময় নিন। এটি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক সুবিধা নিতে সহায়তা করবে।

সম্প্রদায় পরিচালিত সমর্থন

আমাদের ওপেন সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায়ের প্রচুর সমর্থনের মাধ্যমে চালিত হয়। যদি আপনার কোন প্রশ্ন থাকে বা সহায়তা প্রয়োজন হয়, তবে StackOverflow এবং অন্যান্য অনলাইন সম্পদ আপনার সেরা বিকল্প।

বাগ এবং বৈশিষ্ট্য অগ্রাধিকার

একটি ওপেন সোর্স প্রকল্প পরিচালনার বাস্তবতা মানে হল আমরা প্রতিটি রিপোর্ট করা বাগ বা বৈশিষ্ট্য অনুরোধকে তা সম্ভবতঃ প্রথমেই সমাধান করতে পারি না। আমরা নিম্নলিখিত ক্রমে সমস্যা গুলির প্রাথমিকতা নির্ধারণ করি:

1. আমাদের পেইড পণ্যগুলির উপর প্রভাব ফেলা বাগ

আমাদের পেইড পণ্যগুলির উপর প্রভাব ফেলা বাগ সর্বদা আমাদের শীর্ষ প্রাথমিকতা হবে। কিছু ক্ষেত্রে, আমরা কেবলমাত্র আমাদের প্রভাবিত বাগগুলি সমাধান করবো।

2. সম্প্রদায় পুল অনুরোধ

যদি আপনি কোন বাগ চিহ্নিত করে এবং একটি সমাধান থাকেন, তবে দয়া করে একটি পুল অনুরোধ জমা দিন। আমাদের পণ্যগুলির প্রভাবের পরে, আমরা এই সম্প্রদায় পরিচালিত সমাধানগুলির প্রতি প্রাথমিকতা দিয়ে থাকি। পরীক্ষা এবং অনুমোদনের পরে, আমরা আপনার সমাধানটি মার্জ করবো এবং আপনার অবদানকে শ্রদ্ধা দিবো।

3. আর্থিক সমর্থন

উল্লেখিত বিষয়গুলির বাইরের সমস্যাগুলির জন্য, আপনি তাদের সমাধানের জন্য অর্থ দিতে পারেন। প্রতিটি খোলা সমস্যার সাথে একটি আদেশ ফর্ম সংযুক্ত আছে যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা এই সমস্যাগুলির প্রাথমিকতা নির্ধারণ করি যা অর্থ প্রদানের পরিমাণের উপর ভিত্তি করে।

সম্প্রদায় অবদান

ওপেন সোর্স কমিউনিটি সক্রিয় হলেই তার উন্নতি হয়। বাগ সংশোধন, নথি আপডেট, টিউটোরিয়াল বা সম্প্রদায়ের চ্যানেলে অন্যদের সহায়তা করে না করে যদি আপনি কোন অবদান রাখতে পারেন। আমরা সকলকে উচ্চমানে উৎসাহ দিচ্ছি, যেমন একটি সম্প্রদায়, ওপেন সোর্স কাজে সমর্থন করতে।

পুনরাবৃত্তির জন্য, DefectiveCode বাগগুলির প্রাথমিকতা নির্ধারণ করবে যেভাবে তা আমাদের পেইড পণ্যগুলির উপর প্রভাব ফেলে, সম্প্রদায় পুল অনুরোধ এবং সমস্যাগুলির জন্য প্রাপ্ত আর্থিক সমর্থনের উপর ভিত্তি করে।

লাইসেন্স - MIT লাইসেন্স

কপিরাইট © ডিফেক্টিভ কোড, এলএলসি। সমস্ত অধিকার সংরক্ষিত

এই সফটওয়্যার এবং সম্পর্কিত নথি ফাইল (সফটওয়্যার) এর কপি প্রাপ্ত করলে কোনও ব্যক্তির কাছে মুক্তিযোগ্যভাবে অনুমতি দেওয়া হয়, সফটওয়্যারটি বিনা সীমাবদ্ধতা সহ ব্যবহার, অনুলিপি, সংশোধন, মার্জ, প্রকাশ, বিতরণ, সাবলিসেন্স এবং/অথবা সফটওয়্যারের অনুলিপি বিক্রয় করতে এবং সফটওয়্যারটি প্রদান করা হয় যারা সফটওয়্যারটি প্রদান করেছেন, তবে নিম্নলিখিত শর্তাদি অনুসারে:

উপরের কপিরাইট নোটিশ এবং এই অনুমতি নোটিশটি সমস্ত অনুলিপি বা প্রধান অংশে অন্তর্ভুক্ত থাকবে।

সফটওয়্যারটি "যেমনটা আছে" অবস্থায় প্রদান করা হয়, কোনও প্রকারের জামিন ছাড়াই, ব্যবসায়িকতা জনিত উপযুক্ততা, ফিটনেস বা অন্য কোনও শর্ত ছাড়াই, যা ব্যবহারের জন্য প্রয়োজনীয় হয় বা অন্য কোনও কারণে উত্পন্ন হয় না। কোনও ঘটনায় লেনদেনকারী বা কপিরাইট ধারকদের কাছে কোনও দাবি, ক্ষতি বা অন্য কোনও দায় থাকবে না, চাই কোনও চুক্তিতে, নার্থওয়েস্ট বা অন্য কোনও প্রকারের অভিযোগের মাধ্যমে, যা সফটওয়্যার বা ব্যবহার বা অন্য কোনও কারণে উত্পন্ন হয়।

MJML - Defective Code