English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
# অনুবাদ সতর্কতা
এই নথিটি স্বয়ংক্রিয়ভাবে অনুবাদ করা হয়েছে। যদি অনুবাদে কোনো ত্রুটি থাকে, অনুগ্রহ করে প্রকল্পে একটি পুল রিকোয়েস্ট খুলুন এবং অনুবাদিত ফাইলটি docs/{ISO 639-1 Code}.md
এ যোগ করুন।
# পরিচিতি
এই প্যাকেজটি আপনার লারাভেল অ্যাপ্লিকেশনে শেয়ার লিঙ্ক যোগ করার প্রক্রিয়াটিকে সহজ করে। যদি আপনি লক্ষ্য করেন যে আমরা কোনো পরিষেবা মিস করছি, তাহলে একটি পুল রিকোয়েস্ট খুলতে দ্বিধা করবেন না!
একটি শেয়ার লিঙ্ক হল একটি URL যা একটি সোশ্যাল মিডিয়া বেস URL এবং আপনার ওয়েবসাইট বা অ্যাপ থেকে কন্টেন্ট শেয়ার করার জন্য কুয়েরি প্যারামিটারগুলিকে একত্রিত করে। প্যারামিটারগুলির মধ্যে সাধারণত কন্টেন্ট URL এবং একটি প্রিসেট বার্তা অন্তর্ভুক্ত থাকে। উদাহরণে দেখানো এই লিঙ্কগুলি ব্যবহারকারীদের টুইটার, ফেসবুক এবং টেলিগ্রামের মতো প্ল্যাটফর্মে সহজেই পোস্ট শেয়ার করতে দেয়। লারাভেলের ব্লেড কম্পোনেন্ট সিস্টেমের মাধ্যমে দ্রুত শেয়ার লিঙ্ক তৈরি করতে এই ওপেন-সোর্স প্যাকেজটি ব্যবহার করুন।
<x-link-sharer service="twitter" text="আমাকে শেয়ার করুন!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- শেয়ার বোতামের চেহারা এবং অনুভূতি নিয়ন্ত্রণ করতে আপনার HTML কোড এখানে --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">আমাকে ক্লিক করুন!</span></x-link-sharer>
# ইনস্টলেশন
composer require defectivecode/link-sharer
পরিষেবা প্রদানকারীরা মাঝে মাঝে পূর্বে নোটিশ না দিয়েই তাদের শেয়ার লিঙ্ক আপডেট করে। আমরা এই পরিবর্তনগুলির সাথে আপডেট থাকার জন্য সর্বাত্মক চেষ্টা করি। তবে, যদি আপনি কোনো অকার্যকর পরিষেবা দেখতে পান, দয়া করে একটি ইস্যু খুলুন বা একটি পুল রিকোয়েস্ট জমা দিন। নতুন পরিষেবা যোগ করার জন্য, নিচের অবদান বিভাগটি দেখুন।
কিছু পরিষেবা অতিরিক্ত প্যারামিটার প্রদান করে যা কম্পোনেন্টে পাস করা যেতে পারে। এগুলি নিচের টেবিলে ডকুমেন্ট করা হয়েছে।
পরিষেবা | টেক্সট সমর্থিত | URL সমর্থিত | নোট |
---|---|---|---|
ব্লগার | ✔️ | ✔️ | t ব্লগ পোস্টের টেক্সট। |
ডায়াস্পোরা | ✔️ | ✔️ | |
ডিগো | ✔️ | ✔️ | description পোস্টে যোগ করার জন্য একটি বিবরণ। |
ডুবান | ✔️ | ✔️ | comment পোস্টে যোগ করার জন্য একটি মন্তব্য। |
এভারনোট | ✔️ | ✔️ | |
ফেসবুক | ❌ | ✔️ | |
ফ্লিপবোর্ড | ✔️ | ✔️ | quote পোস্টে যোগ করার জন্য একটি উদ্ধৃতি। |
জিমেইল | ✔️ | ✔️ | bcc BCC করার জন্য কমা দ্বারা পৃথক করা ইমেল ঠিকানার তালিকা। cc CC করার জন্য কমা দ্বারা পৃথক করা ইমেল ঠিকানার তালিকা। su ইমেলের বিষয়। to পাঠানোর জন্য কমা দ্বারা পৃথক করা ইমেল ঠিকানার তালিকা। |
হ্যাকনিউজ | ✔️ | ✔️ | |
ইনস্টাপেপার | ✔️ | ✔️ | description পোস্টের একটি বিবরণ। |
লাইনমি | ❌️ | ✔️ | |
লিঙ্কডইন | ❌ | ✔️ | |
লাইভজার্নাল | ✔️ | ✔️ | |
মেনেমে | ❌️ | ✔️ | |
ওক্রু | ❌️ | ✔️ | |
আউটলুক | ✔️ | ✔️ | |
পিন্টারেস্ট | ✔️ | ✔️ | media পোস্টে দেখানোর জন্য একটি চিত্র URL। |
প্লার্ক | ❌ ️ | ✔️ | |
পকেট | ✔️ | ✔️ | |
কিউজোন | ✔️ | ✔️ | summary পোস্টের একটি সারাংশ। |
রেডিট | ✔️ | ✔️ | |
রেনরেন | ✔️ | ✔️ | description পোস্টের একটি বিবরণ। srcUrl পোস্টের মূল URL। |
স্কাইপ | ✔️ | ✔️ | |
টেলিগ্রাম | ✔️ | ✔️ | |
থ্রিমা | ❌ | ✔️ | id পোস্ট পাঠানোর ব্যক্তির আইডি। |
টাম্বলার | ✔️ | ✔️ | caption পোস্টে যোগ করার জন্য একটি ক্যাপশন। tags পোস্টে প্রয়োগ করার জন্য কমা দ্বারা পৃথক করা ট্যাগের তালিকা। |
টুইটার | ✔️ | ✔️ | hastags টুইটে প্রয়োগ করার জন্য কমা দ্বারা পৃথক করা হ্যাশ ট্যাগের তালিকা। via ক্রেডিট দেওয়ার জন্য টুইটার। |
ভাইবার | ✔️ | ✔️ | |
ভিকন্টাক্ট | ✔️ | ✔️ | description পোস্টের একটি বিবরণ। image পোস্টে দেখানোর জন্য একটি চিত্র URL। |
ওয়েইবো | ✔️ | ✔️ | |
হোয়াটসঅ্যাপ | ✔️ | ✔️ | |
জিং | ❌ | ✔️ | |
ইয়াহুমেইল | ✔️ | ✔️ |
# অবদান
একটি পরিষেবা যোগ করা তুলনামূলকভাবে সহজ। src/Services
ফোল্ডারের মধ্যে একটি নতুন পরিষেবা ক্লাস তৈরি করে শুরু করুন। আপনি যে পরিষেবাটি যোগ করছেন তার নাম অনুসারে ক্লাসটির নামকরণ করুন। সিস্টেমটি স্বয়ংক্রিয়ভাবে ফ্যাক্টরির মাধ্যমে পরিষেবাটি নিবন্ধন করে, তাই ম্যানুয়াল নিবন্ধনের প্রয়োজন নেই।
নীচে প্রদত্ত Gmail পরিষেবাটি একটি ভাল উদাহরণ হিসাবে কাজ করে।
<?php namespace DefectiveCode\LinkSharer\Services; use DefectiveCode\LinkSharer\Traits\AppendsLinks; class Gmail extends Service{ use AppendsLinks; protected string $baseUrl = 'https://mail.google.com/mail/u/0'; protected array $baseParameterMapping = [ 'text' => 'body', ]; protected array $additionalParameters = [ 'bcc', 'cc', 'su', 'to', ]; protected array $defaultParameters = [ 'view' => 'cm', ];}
দয়া করে মনে রাখবেন যে শুধুমাত্র baseUrl
বাধ্যতামূলক। baseParameterMapping
, additionalParameters
, এবং defaultParameters
ঐচ্ছিক কিন্তু কার্যকারিতা বাড়াতে পারে।
$baseUrl
একটি পরিষেবার URL HTTPS দিয়ে শুরু হওয়ার প্রয়োজন নেই। উদাহরণস্বরূপ, Viber
viber://forward
ব্যবহার করে।
baseUrl
প্রপার্টি পরিষেবার প্রাথমিক URL নির্দিষ্ট করে। এই URLটি শেয়ার লিঙ্ক তৈরি করার সময় মৌলিক, যার সাথে প্রশ্নের প্যারামিটারগুলি যুক্ত হয়। Gmail উদাহরণ হিসাবে ব্যবহার করে, এর বেস URL হল https://mail.google.com/mail/u/0
।
$baseParameterMapping
এই প্যাকেজটি দুটি প্রাথমিক অ্যাট্রিবিউট চিহ্নিত করে: text
এবং url
, যেহেতু সেগুলি বেশিরভাগ পরিষেবা প্রদানকারীদের মধ্যে ব্যাপকভাবে ব্যবহৃত হয়। শুধুমাত্র এই অ্যাট্রিবিউটগুলি সংজ্ঞায়িত করুন যদি সংশ্লিষ্ট পরিষেবাটি একটি ভিন্ন নামকরণ কনভেনশন ব্যবহার করে। উদাহরণস্বরূপ, Gmail text
এর পরিবর্তে body
ব্যবহার করে, যার ফলে এই স্পষ্ট ম্যাপিং প্রয়োজন। Gmail ব্যবহার করার সময়, ব্লেড কম্পোনেন্টে পাস করা যেকোনো text
অ্যাট্রিবিউট শেয়ার লিঙ্কে body
প্রশ্নের প্যারামিটারে রূপান্তরিত হয়।
$additionalParameters
কিছু পরিষেবা আরও নির্দিষ্ট প্রশ্নের প্যারামিটার গ্রহণ করে। Gmail কে একটি রেফারেন্স হিসাবে গ্রহণ করে, এটি bcc
, cc
, su
, এবং to
সমর্থন করে। এগুলি additionalParameters
অ্যারেতে সংজ্ঞায়িত করুন। যখন ব্যবহারকারীরা ব্লেড কম্পোনেন্টে এই অ্যাট্রিবিউটগুলি অন্তর্ভুক্ত করে, তখন সেগুলি শেয়ার লিঙ্কে যুক্ত হয়। নিশ্চিত করুন যে এই প্যারামিটারগুলি সমর্থিত পরিষেবাগুলির টেবিলে তালিকাভুক্ত রয়েছে, সংক্ষিপ্ত বিবরণ সহ।
$defaultParameters
কিছু পরিষেবা শেয়ার লিঙ্কটি কাজ করার জন্য নির্দিষ্ট প্রশ্নের প্যারামিটারগুলি প্রয়োজন। উদাহরণস্বরূপ, Gmail এর view=cm
অন্তর্ভুক্তির প্রয়োজন। এই ধরনের বাধ্যতামূলক অ্যাট্রিবিউটগুলি defaultParameters
অ্যারেতে ঘোষণা করা হয়। এগুলি সর্বদা শেয়ার লিঙ্কে যুক্ত হয় এবং বাদ দেওয়া যাবে না।
prepareAttributes()
শেয়ার লিঙ্ক তৈরি করার আগে অ্যাট্রিবিউটগুলি ম্যানিপুলেট করতে, আপনার পরিষেবাতে একটি prepareAttributes
পদ্ধতি প্রবর্তন করুন। এই পদ্ধতিটি generateLink
পদ্ধতিতে অ্যাট্রিবিউটগুলি পাস করার আগে সক্রিয় হয়, কাস্টম অ্যাট্রিবিউট পরিবর্তনের অনুমতি দেয়। নীচে AppendsLinks
ট্রেইট ব্যবহার করে একটি ডেমোনস্ট্রেশন দেওয়া হল।
<?php namespace DefectiveCode\LinkSharer\Traits; trait AppendsLinks{ protected function prepareAttributes(): void { if (isset($this->attributes['text']) && isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url']; return; } if (isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['url']; } }}
পরিষেবাতে পাস করা অ্যাট্রিবিউটগুলি $attributes
অ্যারেতে অ্যাক্সেসযোগ্য। চিত্রিত উদাহরণে:
যদি উভয় text
এবং url
অ্যাট্রিবিউট উপস্থিত থাকে, তাহলে url
টি text
অ্যাট্রিবিউটে যুক্ত হয়।
শুধুমাত্র url
অ্যাট্রিবিউট উপলব্ধ থাকলে, text
অ্যাট্রিবিউটটি url
এর মান গ্রহণ করে।
আমাদের ওপেন সোর্স প্যাকেজ বেছে নেওয়ার জন্য ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকাগুলি দেখার জন্য একটি মুহূর্ত নিন। এগুলি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক সুবিধা পেতে সহায়তা করবে।
আমাদের ওপেন সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায় দ্বারা চালিত। আপনার যদি প্রশ্ন থাকে বা সহায়তার প্রয়োজন হয়, StackOverflow এবং অন্যান্য অনলাইন সংস্থানগুলি আপনার সেরা বাজি।
একটি ওপেন সোর্স প্রকল্প পরিচালনার বাস্তবতা হল আমরা প্রতিটি রিপোর্ট করা বাগ বা বৈশিষ্ট্য অনুরোধ অবিলম্বে সমাধান করতে পারি না। আমরা নিম্নলিখিত ক্রমে সমস্যাগুলিকে অগ্রাধিকার দিই:
বাগগুলি যা আমাদের প্রদত্ত পণ্যগুলিকে প্রভাবিত করে তা সর্বদা আমাদের শীর্ষ অগ্রাধিকার হবে। কিছু ক্ষেত্রে, আমরা শুধুমাত্র সেই বাগগুলি সমাধান করতে পারি যা আমাদের সরাসরি প্রভাবিত করে।
আপনি যদি একটি বাগ সনাক্ত করে থাকেন এবং একটি সমাধান থাকে, দয়া করে একটি পুল রিকোয়েস্ট জমা দিন। আমাদের পণ্যগুলিকে প্রভাবিত করে এমন সমস্যাগুলির পরে, আমরা এই সম্প্রদায় চালিত সমাধানগুলিকে পরবর্তী সর্বোচ্চ অগ্রাধিকার দিই। একবার পর্যালোচনা এবং অনুমোদিত হলে, আমরা আপনার সমাধানটি একীভূত করব এবং আপনার অবদানকে কৃতিত্ব দেব।
উল্লিখিত বিভাগগুলির বাইরের সমস্যাগুলির জন্য, আপনি তাদের সমাধানের জন্য অর্থায়ন করতে পারেন। প্রতিটি খোলা সমস্যা একটি অর্ডার ফর্মের সাথে লিঙ্ক করা থাকে যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা প্রদত্ত অর্থের পরিমাণের উপর ভিত্তি করে এই সমস্যাগুলিকে অগ্রাধিকার দিই।
ওপেন সোর্স তখনই সফল হয় যখন এর সম্প্রদায় সক্রিয় থাকে। এমনকি আপনি যদি বাগগুলি ঠিক না করেন, কোড উন্নতি, ডকুমেন্টেশন আপডেট, টিউটোরিয়াল বা সম্প্রদায় চ্যানেলগুলিতে অন্যদের সহায়তার মাধ্যমে অবদান রাখার কথা বিবেচনা করুন। আমরা সবাইকে, একটি সম্প্রদায় হিসাবে, ওপেন সোর্স কাজকে সমর্থন করতে অত্যন্ত উৎসাহিত করি।
পুনরাবৃত্তি করতে, DefectiveCode আমাদের প্রদত্ত পণ্যগুলিকে প্রভাবিত করে এমন বাগ, সম্প্রদায়ের পুল রিকোয়েস্ট এবং সমস্যাগুলির জন্য প্রাপ্ত আর্থিক সমর্থনের উপর ভিত্তি করে বাগগুলিকে অগ্রাধিকার দেবে।
# লাইসেন্স - এমআইটি লাইসেন্স
কপিরাইট © ডিফেক্টিভ কোড, এলএলসি। সর্বস্বত্ব সংরক্ষিত
এই সফটওয়্যার এবং সংশ্লিষ্ট ডকুমেন্টেশন ফাইলগুলি ( "সফটওয়্যার" ) এর একটি কপি প্রাপ্ত যে কোনও ব্যক্তিকে বিনামূল্যে, বিনা খরচে, অনুমতি দেওয়া হচ্ছে, সফটওয়্যারটি ব্যবহার করার জন্য, কপি করার জন্য, পরিবর্তন করার জন্য, একত্রিত করার জন্য, প্রকাশ করার জন্য, বিতরণ করার জন্য, সাবলাইসেন্স করার জন্য এবং/অথবা সফটওয়্যারটির কপি বিক্রি করার জন্য, এবং যাদের কাছে সফটওয়্যারটি সরবরাহ করা হয়েছে তাদেরকে এই কাজগুলি করার অনুমতি দেওয়া হচ্ছে, নিম্নলিখিত শর্তসাপেক্ষে:
উপরের কপিরাইট নোটিশ এবং এই অনুমতি নোটিশটি সফটওয়্যারটির সমস্ত কপি বা উল্লেখযোগ্য অংশে অন্তর্ভুক্ত থাকতে হবে।
সফটওয়্যারটি "যেমন আছে" ভিত্তিতে সরবরাহ করা হচ্ছে, কোনও ধরণের ওয়ারেন্টি ছাড়াই, প্রকাশিত বা অন্তর্নিহিত, এর মধ্যে কিন্তু সীমাবদ্ধ নয়, বাণিজ্যিকতা, একটি নির্দিষ্ট উদ্দেশ্যে উপযুক্ততা এবং অ-লঙ্ঘনের ওয়ারেন্টি। কোনও অবস্থাতেই লেখক বা কপিরাইট ধারকরা কোনও দাবি, ক্ষতি বা অন্য কোনও দায়বদ্ধতার জন্য দায়ী থাকবে না, চুক্তি, টর্ট বা অন্যথায়, সফটওয়্যার বা সফটওয়্যার ব্যবহারের বা অন্য কোনও লেনদেনের কারণে উদ্ভূত।