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>');
প্রথমে আপনার 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 |
পরবর্তীতে, নিম্নলিখিত কমান্ড চালানোর মাধ্যমে পিএইচপি প্যাকেজটি ইনস্টল করুন:
composer require defectivecode/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 স্ট্রিংকে সহজেই 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 ফ্যাসেডের 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 ফ্যাসেডের 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>' );
আমাদের প্যাকেজটি অফিসিয়াল এমজেএমএল প্যাকেজের একই কনফিগারেশন অনুসরণ করে নিম্নলিখিত ব্যতিক্রমগুলির সাথে সামঞ্জস্যপূর্ণ:
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()
মেথড কল করে মন্তব্যগুলি পুনর্স্থাপন করতে পারেন।
ডিফল্টভাবে, আমাদের প্যাকেজটি যেকোনো mj-include
ট্যাগগুলি অন্তর্ভুক্ত করবে। আপনি এই
আচরণটি সংশোধন করতে পারেন ignoreIncludes(bool $ignore)
মেথডটি কল করে।
আমাদের প্যাকেজটি ডিফল্টভাবে HTML সুন্দরভাবে করবে js-beautify
ব্যবহার করে নিম্নলিখিত
ডিফল্ট অপশনগুলি সহ:
js-beautify
অপশনগুলি প্রদান করতে স্নেক_কেস ব্যবহার করে, তবে আপনার প্যাকেজটি ব্যবহার করার সময় আপনাকে ক্যামেল_কেস ব্যবহার করতে হবে। আমরা এই সিদ্ধান্তটি নিয়েছি আমাদের প্যাকেজটিকে বাকি কনফিগারেশন অপশনগুলির সাথে সংগতিপূর্ণ রাখতে। আমাদের প্যাকেজটি স্বয়ংক্রিয়ভাবে ক্যামেল_কেস অপশনগুলিকে স্নেক_কেস অপশনগুলিতে রূপান্তর করবে।
আপনি নিম্নলিখিত মেথডগুলি ব্যবহার করে যেকোনো অপশন পরিবর্তন করতে পারেন:
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
অপশনগুলি সেট করুন।আমাদের ওপেন সোর্স প্যাকেজ বেছে নিয়ে ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকা পরীক্ষা করার জন্য কিছু সময় নিন। এটি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক সুবিধা নিতে সহায়তা করবে।
আমাদের ওপেন সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায়ের প্রচুর সমর্থনের মাধ্যমে চালিত হয়। যদি আপনার কোন প্রশ্ন থাকে বা সহায়তা প্রয়োজন হয়, তবে StackOverflow এবং অন্যান্য অনলাইন সম্পদ আপনার সেরা বিকল্প।
একটি ওপেন সোর্স প্রকল্প পরিচালনার বাস্তবতা মানে হল আমরা প্রতিটি রিপোর্ট করা বাগ বা বৈশিষ্ট্য অনুরোধকে তা সম্ভবতঃ প্রথমেই সমাধান করতে পারি না। আমরা নিম্নলিখিত ক্রমে সমস্যা গুলির প্রাথমিকতা নির্ধারণ করি:
আমাদের পেইড পণ্যগুলির উপর প্রভাব ফেলা বাগ সর্বদা আমাদের শীর্ষ প্রাথমিকতা হবে। কিছু ক্ষেত্রে, আমরা কেবলমাত্র আমাদের প্রভাবিত বাগগুলি সমাধান করবো।
যদি আপনি কোন বাগ চিহ্নিত করে এবং একটি সমাধান থাকেন, তবে দয়া করে একটি পুল অনুরোধ জমা দিন। আমাদের পণ্যগুলির প্রভাবের পরে, আমরা এই সম্প্রদায় পরিচালিত সমাধানগুলির প্রতি প্রাথমিকতা দিয়ে থাকি। পরীক্ষা এবং অনুমোদনের পরে, আমরা আপনার সমাধানটি মার্জ করবো এবং আপনার অবদানকে শ্রদ্ধা দিবো।
উল্লেখিত বিষয়গুলির বাইরের সমস্যাগুলির জন্য, আপনি তাদের সমাধানের জন্য অর্থ দিতে পারেন। প্রতিটি খোলা সমস্যার সাথে একটি আদেশ ফর্ম সংযুক্ত আছে যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা এই সমস্যাগুলির প্রাথমিকতা নির্ধারণ করি যা অর্থ প্রদানের পরিমাণের উপর ভিত্তি করে।
ওপেন সোর্স কমিউনিটি সক্রিয় হলেই তার উন্নতি হয়। বাগ সংশোধন, নথি আপডেট, টিউটোরিয়াল বা সম্প্রদায়ের চ্যানেলে অন্যদের সহায়তা করে না করে যদি আপনি কোন অবদান রাখতে পারেন। আমরা সকলকে উচ্চমানে উৎসাহ দিচ্ছি, যেমন একটি সম্প্রদায়, ওপেন সোর্স কাজে সমর্থন করতে।
পুনরাবৃত্তির জন্য, DefectiveCode বাগগুলির প্রাথমিকতা নির্ধারণ করবে যেভাবে তা আমাদের পেইড পণ্যগুলির উপর প্রভাব ফেলে, সম্প্রদায় পুল অনুরোধ এবং সমস্যাগুলির জন্য প্রাপ্ত আর্থিক সমর্থনের উপর ভিত্তি করে।
কপিরাইট © ডিফেক্টিভ কোড, এলএলসি। সমস্ত অধিকার সংরক্ষিত
এই সফটওয়্যার এবং সম্পর্কিত নথি ফাইল (সফটওয়্যার) এর কপি প্রাপ্ত করলে কোনও ব্যক্তির কাছে মুক্তিযোগ্যভাবে অনুমতি দেওয়া হয়, সফটওয়্যারটি বিনা সীমাবদ্ধতা সহ ব্যবহার, অনুলিপি, সংশোধন, মার্জ, প্রকাশ, বিতরণ, সাবলিসেন্স এবং/অথবা সফটওয়্যারের অনুলিপি বিক্রয় করতে এবং সফটওয়্যারটি প্রদান করা হয় যারা সফটওয়্যারটি প্রদান করেছেন, তবে নিম্নলিখিত শর্তাদি অনুসারে:
উপরের কপিরাইট নোটিশ এবং এই অনুমতি নোটিশটি সমস্ত অনুলিপি বা প্রধান অংশে অন্তর্ভুক্ত থাকবে।
সফটওয়্যারটি "যেমনটা আছে" অবস্থায় প্রদান করা হয়, কোনও প্রকারের জামিন ছাড়াই, ব্যবসায়িকতা জনিত উপযুক্ততা, ফিটনেস বা অন্য কোনও শর্ত ছাড়াই, যা ব্যবহারের জন্য প্রয়োজনীয় হয় বা অন্য কোনও কারণে উত্পন্ন হয় না। কোনও ঘটনায় লেনদেনকারী বা কপিরাইট ধারকদের কাছে কোনও দাবি, ক্ষতি বা অন্য কোনও দায় থাকবে না, চাই কোনও চুক্তিতে, নার্থওয়েস্ট বা অন্য কোনও প্রকারের অভিযোগের মাধ্যমে, যা সফটওয়্যার বা ব্যবহার বা অন্য কোনও কারণে উত্পন্ন হয়।