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 এর প্রয়োজন ছাড়াই। এই প্যাকেজটি 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>');
# ইনস্টলেশন
প্রথমে আপনার composer.json
ফাইলে নিম্নলিখিত কোডটি যোগ করুন যাতে আমাদের প্যাকেজ আপনার অপারেটিং সিস্টেমের জন্য সঠিক বাইনারি ফাইলগুলি টেনে আনে যখন আমাদের প্যাকেজটি ইনস্টল করা হয়। আপনি install
, update
, বা dump-autoload
চালানোর পরে বাইনারি ফাইলগুলি ডাউনলোড হবে।
{ "post-autoload-dump": ["DefectiveCode\\MJML\\PullBinary::all"]}
MJML বাইনারি ফাইলটি আমাদের CDN থেকে প্রাপ্ত হবে এবং কম্পোজারের ইনস্টলেশন বা আপডেটের সময় এই প্যাকেজের "bin" ফোল্ডারে সংরক্ষিত হবে। নিশ্চিত করুন যে আপনার স্থানীয় এবং প্রোডাকশন উভয় পরিবেশের জন্য প্রয়োজনীয় বাইনারি ফাইলগুলি লোড করা আছে।
ডিফল্টভাবে, all
আমাদের সমর্থিত সমস্ত বাইনারি ফাইল টেনে আনবে। আমরা ব্যান্ডউইথ এবং ইনস্টলেশনের সময় বাঁচাতে এটি আপনার প্রয়োজনীয় অপারেটিং এবং আর্কিটেকচার সিস্টেমগুলিতে সীমাবদ্ধ করার পরামর্শ দিই। নিম্নলিখিতগুলি উপলব্ধ বাইনারি ফাইলগুলি।
অপারেটিং সিস্টেম | আর্কিটেকচার | কম্পোজার পোস্ট আপডেট কমান্ড |
---|---|---|
সব | সব | DefectiveCode\MJML\PullBinary::all |
ডারউইন (ম্যাকওএস) | arm64 | DefectiveCode\MJML\PullBinary::darwin-arm64 |
ডারউইন (ম্যাকওএস) | x64 | DefectiveCode\MJML\PullBinary::darwin-x64 |
লিনাক্স | arm64 | DefectiveCode\MJML\PullBinary::linux-arm64 |
লিনাক্স | x64 | DefectiveCode\MJML\PullBinary::linux-x64 |
পরবর্তী, নিম্নলিখিত কম্পোজার কমান্ডটি চালিয়ে PHP প্যাকেজটি ইনস্টল করুন:
composer require defectivecode/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>');
এমজেএমএল যাচাই করতে, আপনার এমজেএমএল স্ট্রিংটি 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>');
# ব্যবহারের নিয়ম (ল্যারাভেলের সাথে)
এমজেএমএল রেন্ডার করতে, আপনার এমজেএমএল স্ট্রিংটি এমজেএমএল ফ্যাসাদের 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
কনফিগারেশন ফাইল তৈরি করবে। কনফিগারেশন ফাইলে তালিকাভুক্ত সমস্ত অপশনগুলি এমজেএমএল ফ্যাসাদ ব্যবহার করার সময় 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 প্যাকেজের একই কনফিগারেশন অনুসরণ করে নিম্নলিখিতগুলি ব্যতীত:
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()
পদ্ধতিটি ব্যবহার করতে পারেন।
আপনি keepComments()
পদ্ধতিটি কল করে removeComments()
পুনরুদ্ধার করতে পারেন।
ডিফল্টরূপে, আমাদের প্যাকেজটি কোনও mj-include
ট্যাগগুলি অন্তর্ভুক্ত করবে। আপনি ignoreIncludes(bool $ignore)
পদ্ধতিটি কল করে এই আচরণটি সামঞ্জস্য করতে পারেন।
আমাদের প্যাকেজটি নিম্নলিখিত ডিফল্ট অপশনগুলির সাথে js-beautify
ব্যবহার করে HTML বিউটিফাই করবে:
যদিও
js-beautify
অপশনগুলি প্রদান করতে snake_case ব্যবহার করে, আপনি আমাদের প্যাকেজটি ব্যবহার করার সময় camelCase ব্যবহার করা উচিত। আমরা আমাদের প্যাকেজটি বাকি কনফিগারেশন অপশনগুলির সাথে সামঞ্জস্যপূর্ণ রাখতে এই পছন্দটি করেছি। আমাদের প্যাকেজটি স্বয়ংক্রিয়ভাবে camelCase অপশনগুলি snake_case এ রূপান্তর করবে।
আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে কোনও বৈধ js-beautify
কনফিগারেশন প্রদান করে এই অপশনগুলির কোনওটি ওভাররাইড করতে পারেন:
setBeautifyOptions(array $options)
- js-beautify
অপশনগুলি সেট করুন।addBeautifyOption(string $option, mixed $value)
- একটি js-beautify
অপশন যোগ করুন।removeBeautifyOption(string $option)
- একটি js-beautify
অপশন সরান।আমাদের প্যাকেজটি নিম্নলিখিত ডিফল্ট অপশনগুলির সাথে html-minifier-terser
ব্যবহার করে HTML মিনিফাই করবে:
আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে কোনও বৈধ html-minifier-terser
কনফিগারেশন প্রদান করে এই অপশনগুলির কোনওটি ওভাররাইড করতে পারেন:
setMinifyOptions(array $options)
- html-minifier-terser
অপশনগুলি সেট করুন।addMinifyOption(string $option, mixed $value)
- একটি html-minifier-terser
অপশন যোগ করুন।removeMinifyOption(string $option)
- একটি html-minifier-terser
অপশন সরান।আমাদের প্যাকেজটি ডিফল্টরূপে soft
বৈধতা স্তর ব্যবহার করে MJML বৈধতা করবে। আপনি validationLevel(ValidationLevel $validationLevel)
পদ্ধতিটি ব্যবহার করে এটি পরিবর্তন করতে পারেন। নিম্নলিখিত বৈধতা স্তরগুলি উপলব্ধ:
strict
- আপনার ডকুমেন্টটি বৈধতার মধ্য দিয়ে যাচ্ছে এবং এতে কোনও ত্রুটি থাকলে এটি রেন্ডার হয় নাsoft
- আপনার ডকুমেন্টটি বৈধতার মধ্য দিয়ে যাচ্ছে এবং ত্রুটি থাকলেও এটি রেন্ডার হয়skip
- আপনার ডকুমেন্টটি বৈধতার মধ্য দিয়ে না গিয়ে রেন্ডার হয়।আমাদের প্যাকেজটি ডিফল্টরূপে .
ডিরেক্টরি ব্যবহার করবে। আপনি filePath(string $path)
পদ্ধতিটি কল করে এটি পরিবর্তন করতে পারেন।
আমরা ডিফল্টরূপে কোনও জুস অপশন প্রদান করি না। আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে জুস অপশনগুলি যোগ করতে পারেন:
setJuiceOptions(array $options)
- জুস অপশনগুলি সেট করুন।
addJuiceOption(string $option, mixed $value)
- একটি জুস অপশন যোগ করুন।
removeJuiceOption(string $option)
- একটি জুস অপশন সরান।
setJuicePreserveTags(array $tags)
- জুস সংরক্ষণ ট্যাগগুলি সেট করুন।
addJuicePreserveTag(string $tag, mixed $value)
- একটি জুস সংরক্ষণ ট্যাগ যোগ করুন।
removeJuicePreserveTag(string $tag)
- একটি জুস সংরক্ষণ ট্যাগ সরান।
আমাদের ওপেন সোর্স প্যাকেজ বেছে নেওয়ার জন্য ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকাগুলি দেখার জন্য একটি মুহূর্ত নিন। এগুলি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক সুবিধা পেতে সহায়তা করবে।
আমাদের ওপেন সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায় দ্বারা চালিত। আপনার যদি প্রশ্ন থাকে বা সহায়তার প্রয়োজন হয়, StackOverflow এবং অন্যান্য অনলাইন সংস্থানগুলি আপনার সেরা বাজি।
একটি ওপেন সোর্স প্রকল্প পরিচালনার বাস্তবতা হল আমরা প্রতিটি রিপোর্ট করা বাগ বা বৈশিষ্ট্য অনুরোধ অবিলম্বে সমাধান করতে পারি না। আমরা নিম্নলিখিত ক্রমে সমস্যাগুলিকে অগ্রাধিকার দিই:
বাগগুলি যা আমাদের প্রদত্ত পণ্যগুলিকে প্রভাবিত করে তা সর্বদা আমাদের শীর্ষ অগ্রাধিকার হবে। কিছু ক্ষেত্রে, আমরা শুধুমাত্র সেই বাগগুলি সমাধান করতে পারি যা আমাদের সরাসরি প্রভাবিত করে।
আপনি যদি একটি বাগ সনাক্ত করে থাকেন এবং একটি সমাধান থাকে, দয়া করে একটি পুল রিকোয়েস্ট জমা দিন। আমাদের পণ্যগুলিকে প্রভাবিত করে এমন সমস্যাগুলির পরে, আমরা এই সম্প্রদায় চালিত সমাধানগুলিকে পরবর্তী সর্বোচ্চ অগ্রাধিকার দিই। একবার পর্যালোচনা এবং অনুমোদিত হলে, আমরা আপনার সমাধানটি একীভূত করব এবং আপনার অবদানকে কৃতিত্ব দেব।
উল্লিখিত বিভাগগুলির বাইরের সমস্যাগুলির জন্য, আপনি তাদের সমাধানের জন্য অর্থায়ন করতে পারেন। প্রতিটি খোলা সমস্যা একটি অর্ডার ফর্মের সাথে লিঙ্ক করা থাকে যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা প্রদত্ত অর্থের পরিমাণের উপর ভিত্তি করে এই সমস্যাগুলিকে অগ্রাধিকার দিই।
ওপেন সোর্স তখনই সফল হয় যখন এর সম্প্রদায় সক্রিয় থাকে। এমনকি আপনি যদি বাগগুলি ঠিক না করেন, কোড উন্নতি, ডকুমেন্টেশন আপডেট, টিউটোরিয়াল বা সম্প্রদায় চ্যানেলগুলিতে অন্যদের সহায়তার মাধ্যমে অবদান রাখার কথা বিবেচনা করুন। আমরা সবাইকে, একটি সম্প্রদায় হিসাবে, ওপেন সোর্স কাজকে সমর্থন করতে অত্যন্ত উৎসাহিত করি।
পুনরাবৃত্তি করতে, DefectiveCode আমাদের প্রদত্ত পণ্যগুলিকে প্রভাবিত করে এমন বাগ, সম্প্রদায়ের পুল রিকোয়েস্ট এবং সমস্যাগুলির জন্য প্রাপ্ত আর্থিক সমর্থনের উপর ভিত্তি করে বাগগুলিকে অগ্রাধিকার দেবে।
# লাইসেন্স - এমআইটি লাইসেন্স
কপিরাইট © ডিফেক্টিভ কোড, এলএলসি। সর্বস্বত্ব সংরক্ষিত
এই সফটওয়্যার এবং সংশ্লিষ্ট ডকুমেন্টেশন ফাইলগুলি ( "সফটওয়্যার" ) এর একটি কপি প্রাপ্ত যে কোনও ব্যক্তিকে বিনামূল্যে, বিনা খরচে, অনুমতি দেওয়া হচ্ছে, সফটওয়্যারটি ব্যবহার করার জন্য, কপি করার জন্য, পরিবর্তন করার জন্য, একত্রিত করার জন্য, প্রকাশ করার জন্য, বিতরণ করার জন্য, সাবলাইসেন্স করার জন্য এবং/অথবা সফটওয়্যারটির কপি বিক্রি করার জন্য, এবং যাদের কাছে সফটওয়্যারটি সরবরাহ করা হয়েছে তাদেরকে এই কাজগুলি করার অনুমতি দেওয়া হচ্ছে, নিম্নলিখিত শর্তসাপেক্ষে:
উপরের কপিরাইট নোটিশ এবং এই অনুমতি নোটিশটি সফটওয়্যারটির সমস্ত কপি বা উল্লেখযোগ্য অংশে অন্তর্ভুক্ত থাকতে হবে।
সফটওয়্যারটি "যেমন আছে" ভিত্তিতে সরবরাহ করা হচ্ছে, কোনও ধরণের ওয়ারেন্টি ছাড়াই, প্রকাশিত বা অন্তর্নিহিত, এর মধ্যে কিন্তু সীমাবদ্ধ নয়, বাণিজ্যিকতা, একটি নির্দিষ্ট উদ্দেশ্যে উপযুক্ততা এবং অ-লঙ্ঘনের ওয়ারেন্টি। কোনও অবস্থাতেই লেখক বা কপিরাইট ধারকরা কোনও দাবি, ক্ষতি বা অন্য কোনও দায়বদ্ধতার জন্য দায়ী থাকবে না, চুক্তি, টর্ট বা অন্যথায়, সফটওয়্যার বা সফটওয়্যার ব্যবহারের বা অন্য কোনও লেনদেনের কারণে উদ্ভূত।