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

ওয়েবসাইটের উদ্দেশ্য ও লক্ষ্য দর্শক পরিষ্কার করুন
কোন থিম বাছা বা হোমপেজ ওয়্যারফ্রেম করার আগে, সাইটটি কী জন্য তা স্পষ্ট করুন। ওপেন‑সোর্স ওয়েবসাইট প্রায়ই সবকিছু একসঙ্গে করার চেষ্টা করে—ডকস পোর্টাল, মার্কেটিং পেজ, কমিউনিটি হাব, ব্লগ, ডোনেশন ফানেল—আর শেষে কোনোটিই ভালভাবে করে না।
প্রধান লক্ষ্যগুলো নির্ধারণ করুন
লিখে ফেলুন সাইটকে অবশ্যই যে শীর্ষ 1–3 কাজ করতে হবে। সাধারণ উদাহরণ:
- ডকুমেন্টেশন: ব্যবহারকারীদের দ্রুত সফল হতে সহায়তা (ইনস্টল, টিউটোরিয়াল, API রেফারেন্স)।
- ডাউনলোড: রিলিজ, প্যাকেজ বা কনটেইনার কোথায় পাবেন তা স্পষ্ট করা।
- কমিউনিটি: প্রশ্ন কোথায় করবেন, চ্যাটে কীভাবে যোগ দেবেন, ইস্যু খুঁজবেন বা মিটিং‑এ অংশগ্রহণ করবেন তা দেখানো।
- আপডেট: রিলিজ নোট, ঘোষণাপত্র, রোডম্যাপ পরিবর্তন প্রকাশ করা।
আপনি যদি এক বাক্যে সাইটের উদ্দেশ্য ব্যাখ্যা করতে না পারেন, ভিজিটররাও পারবে না।
দর্শক নির্ধারণ (এবং তাদের প্রয়োজন)
আপনার প্রধান দর্শক তালিকাভুক্ত করুন এবং প্রতিটি গোষ্ঠীর জন্য আপনি যে “প্রথম ক্লিক” চান তা লিখুন:
- Users দ্রুত শুরু, সমস্যার সমাধান এবং ভার্সন‑নির্দিষ্ট ডকস চান।
- Contributors স্পষ্ট অবদান ধাপ এবং “good first issues” চান।
- Maintainers কম ঝামেলার প্রকাশ প্রক্রিয়া এবং পূর্বাভাসযোগ্য রিভিউ চান।
- Sponsors প্রভাবের প্রমাণ এবং সমর্থনের সহজ উপায় চান।
উপযোগী অনুশীলন: প্রতিটি দর্শকের জন্য তারা যে শীর্ষ 3 প্রশ্ন নিয়ে আসে তা লিখুন (যেমন, “আমি কিভাবে ইনস্টল করব?”, “এটি সক্রিয়ভাবে রক্ষণাবেক্ষণ হচ্ছে কি?”, “আমি কীভাবে বাগ রিপোর্ট করব?”)।
এমন সফলতা মেট্রিক বাছুন যা আপনি মাপতে পারবেন
সোজা মেট্রিকগুলো বাছুন যা আপনার লক্ষ্যগুলোর সঙ্গে সংযুক্ত এবং ট্র্যাক করা রিয়ালিস্টিক:
- ডক্স লক্ষ্য → কী ডকস পেজে ট্র্যাফিক, সার্চ কোয়েরি, প্রথম সফল গাইড পর্যন্ত সময়।
- কমিউনিটি লক্ষ্য → প্রথমবারের কনট্রিবিউটর সংখ্যা, ট্রায়াজকৃত ইস্যু, মার্জ হওয়া PR।
- আপডেট লক্ষ্য → নিউজলেটার সাইন‑আপ, RSS সাবস্ক্রাইবার, রিলিজ পোস্ট ভিউ।
স্কোপ ক্রিপ রোধ করতে নন‑গোলগুলো লেখুন
স্পষ্টভাবে বলুন সাইটটি এখনকার জন্য কী করবে না: কাস্টম ওয়েব অ্যাপ, জটিল অ্যাকাউন্ট সিস্টেম, ভারী ইন্টিগ্রেশন বা কাস্টম CMS ফিচার। এটি মেইনটেইনারদের সময় রক্ষা করে এবং প্রজেক্টকে শিপেবল রাখে।
কমিউনিটি কী সম্পাদনা করতে পারবে বনাম মেইনটেইনার-অনলি সিদ্ধান্ত নিন
কনটেন্টকে দুই ভাগে ভাগ করুন:
- কমিউনিটি-এডিটেবল: ডকস, FAQs, টিউটোরিয়াল, অনুবাদ, উদাহরণ, টাইপো ফিক্স।
- মেইনটেইনার-অনলি: সিকিউরিটি পেজ, লিগ্যাল/পলিসি টেক্সট, গভর্নেন্স সিদ্ধান্ত, অফিসিয়াল স্টেটমেন্ট।
এই এক সিদ্ধান্ত আপনার টুল পছন্দ, রিভিউ ওয়ার্কফ্লো এবং কনট্রিবিউটর অভিজ্ঞতাকে পরে গঠন করবে।
সাইট স্ট্রাকচার ও কনটেন্ট মডেল পরিকল্পনা করুন
কনিউনিটি ওয়েবসাইট দ্রুত অগোছালো হয়ে যায় যদি আপনি নির্ধারণ না করেন কী “সাইটে থাকা উচিত” এবং কী রেপোতেই থাকা উচিত। টুল এবং থিমের আগে একটি সরল স্ট্রাকচার ও স্পষ্ট কনটেন্ট মডেল নিয়ে সম্মত হন—তাতে অবদানকারীরা জানবে কোথায় কিছু যোগ করতে হবে এবং মেইনটেইনাররা জানবে কীভাবে রিভিউ করতে হবে।
মানুষের ধারনায় মিল রেখে সাইটম্যাপ দিয়ে শুরু করুন
প্রাথমিক নেভিগেশনটি সচেতনভাবে সাধারণ রাখুন। ওপেন‑সোর্স প্রজেক্ট ওয়েবসাইটের একটি ভাল ডিফল্ট সাইটম্যাপ:
- Home: প্রকল্প কী, কেন আছে, দ্রুত লিঙ্ক
- Docs: getting started, গাইড, API/reference, FAQ
- Blog/News: রিলিজ, ঘোষণাপত্র, কমিউনিটি হাইলাইট
- Community: চ্যাট/ফোরাম লিঙ্ক, ইভেন্ট, কোড অব কন্ডাক্ট
- Contribute: “কীভাবে সাহায্য করবেন,” beginner issues, অবদান ধাপ
- Governance: সিদ্ধান্তগ্রহণ, মেইনটেইনার, নীতিমালা
যদি কোনো পৃষ্ঠা এগুলোর মধ্যে না পড়ে, সম্ভবত সেটি রেপোতে পরিবারের বিষয় বা নতুন কনটেন্ট টাইপ দাবি করে।
ওয়েবসাইট বনাম রেপো README কী থাকবে তা নির্ধারণ করুন
README ব্যবহার করুন ডেভেলপার-সম্মুখীন মৌলিক বিষয়ের জন্য: বিল্ড নির্দেশনা, লোকাল ডেভ সেটআপ, টেস্টিং, দ্রুত প্রজেক্ট স্ট্যাটাস। ওয়েবসাইট ব্যবহার করুন:
- নতুন ব্যবহারকারী ও অবদানকারীদের অনবোর্ডিং কন্টেন্ট
- দীর্ঘ গাইড ও টিউটোরিয়াল
- পাবলিক নীতিমালা (Code of Conduct, governance)
- রিলিজ নোট ও ঘোষণাপত্র
এই পৃথকীকরণ দ্বৈত কনটেন্ট যা সময়ের সাথে ভিন্ন হতে পারে তা প্রতিরোধ করে।
মালিকানা, টোন এবং ভার্সনিং আগে থেকেই নির্ধারণ করুন
প্রতিটি অঞ্চলের জন্য কনটেন্ট ওনার নিয়োগ করুন (ডকস, ব্লগ/নিউজ, অনুবাদ)। ওনারশিপ একটি ছোট গ্রুপও হতে পারে স্পষ্ট রিভিউ দায়িত্ব সহ—একজন গেটকিপার না।
সংক্ষিপ্ত টোন ও স্টাইল গাইড লিখুন যা বৈশ্বিক কমিউনিটির জন্য বন্ধুত্বপূর্ণ: সোজা ভাষা, একরকম শব্দভান্ডার, এবং অ- দেশীয় ইংরেজি লেখকদের জন্য নির্দেশনা।
আপনি যদি রিলিজ চালান, তবে শুরুতেই ভার্সনড ডকস পরিকল্পনা করুন (উদাহরণ: “latest” ও সমর্থিত সংস্করণ)। পরে বহু রিলিজের পরে এটি retrofit করা কঠিন।
এমন টেক স্ট্যাক বাছুন যা অবদানকে সমর্থন করে
আপনার সাইট স্ট্যাক এমন হওয়া উচিত যাতে কেউ সহজে একটি টাইপো ঠিক করতে, নতুন পৃষ্ঠা যোগ করতে, বা ডকস উন্নত করতে পারে—বিল্ড ইঞ্জিনিয়ার না হয়ে। বেশিরভাগ ওপেন‑সোর্স প্রজেক্টের জন্য এর মানে: Markdown‑প্রথম কনটেন্ট, দ্রুত লোকাল সেটআপ, এবং মসৃণ পুল‑রিকোয়েস্ট ওয়ার্কফ্লো সাথে প্রিভিউ।
আপনি যদি লেআউট ও ন্যাভিগেশনে দ্রুত ইটারেট করতে চান, তবে দীর্ঘমেয়াদি স্ট্যাক চূড়ান্ত করার আগে সাইট অভিজ্ঞতার প্রোটোটাইপ বিবেচনা করুন। প্ল্যাটফর্মগুলো যেমন Koder.ai চ্যাটের মাধ্যমে ডকস/মার্কেটিং সাইট স্কেচ করতে, রিয়াক্ট‑ভিত্তিক UI ও ব্যাকএন্ড জেনারেট করতে, এবং পরে সোর্স কোড এক্সপোর্ট করে আপনার রেপোতে রাখা সম্ভব—সেটা তথ্য আর্কিটেকচার ও অবদান প্রবাহ অন্বেষণের জন্য সহায়ক।
কমিউনিটি-এডিট সহায়ক স্ট্যাটিক সাইট জেনারেটর
সাধারণ অপশনগুলো কিভাবে মেলে:
- Docusaurus: ভার্সনিং, সাইডবার নেভিগেশন, বিল্ট‑ইন সার্চসহ ডকস সাইটের জন্য দুর্দান্ত। লোকাল সেটআপ সরল (Node)।
- MkDocs (Material): অবদানকারীদের জন্য খুবই গ্রহণযোগ্য—Markdown লিখুন,
mkdocs.ymlসম্পাদনা করুন, একটি কমান্ড চালান। সার্চ সাধারণত শক্তিশালী। - Hugo: অত্যন্ত দ্রুত বিল্ড এবং নমনীয় কনটেন্ট টাইপ। থিম/টেমপ্লেট সামান্য জটিল হতে পারে, কিন্তু ডকস ও সমৃদ্ধ মার্কেটিং সাইট উভয়ের জন্য চমৎকার।
- Jekyll: GitHub Pages‑এর সাথে নির্বিঘ্ন কাজ করে, কিন্তু নতুন টুলগুলোর তুলনায় কম ব্যবহারবান্ধব মনে হতে পারে। সরল সাইটের জন্য এখনও ঠিক আছে।
- Astro: আধুনিক, কনটেন্ট-ভিত্তিক সাইট ও কম্পোনেন্ট-ভিত্তিক পেজের জন্য উৎকৃষ্ট। কাস্টম UI বেশি থাকলে উপযুক্ত।
হোস্টিং ও প্রিভিউ: “PR → preview → merge” কে অগ্রাধিকার দিন
প্রিভিউ বিল্ড সমর্থন করে এমন হোস্ট বেছে নিন যাতে অবদানকারীরা প্রকাশের আগে লাইভ পরিবর্তন দেখতে পারে:
- GitHub Pages / GitLab Pages: সরল ও পরিচিত; প্রিভিউয়ের জন্য অতিরিক্ত CI কনফিগ লাগতে পারে।
- Netlify / Cloudflare Pages: PR প্রিভিউ সাপোর্ট শক্ত; সহজ রোলব্যাক।
ডিফল্ট পথটি রাখুন “একটি PR খুলুন, প্রিভিউ লিঙ্ক পান, রিভিউ অনুরোধ করুন, মার্জ করুন।” এতে মেইনটেইনারের ব্যাক‑এন্ড কম এবং অবদানকারীর আত্মবিশ্বাস বাড়ে।
সিদ্ধান্ত রেকর্ড করে রাখুন যাতে নবাগতরা অনুমান না করে
docs/website-stack.md (বা README.md‑এ একটি ভাগ) যোগ করুন যা সংক্ষেপে ব্যাখ্যা করে আপনি কী বেছে নিয়েছেন এবং কেন: কীভাবে লোকালি সাইট চালাবেন, কোথায় প্রিভিউ দেখা যায়, এবং কোন ধরনের পরিবর্তন ওয়েবসাইট রেপোতে কিন্তু কোনগুলো অন্যত্র থাকা উচিত।
সহযোগিতার জন্য রেপো সেটআপ করুন
একটি স্বাগতসূচক রেপোই পার্থক্য করে ‘ড্রাইভ‑বাই এডিট’ এবং ধারাবাহিক অবদানের মধ্যে। নেভিগেট করা সহজ, রিভিউয়ারদের জন্য প্রত্যাশাযোগ্য, এবং লোকালি চালাতে সহজ এমন স্ট্রাকচার রাখুন।
প্রস্তাবিত রেপো লেআউট
ওয়েব-সম্পর্কিত ফাইলগুলো গুচ্ছ করে স্পষ্ট নাম দিন। সাধারণ একটি পদ্ধতি:
/
/website # marketing pages, landing, navigation
/docs # documentation source (reference, guides)
/blog # release notes, announcements, stories
/static # images, icons, downloadable assets
/.github # issue templates, workflows, CODEOWNERS
README.md # repo overview
আপনার প্রজেক্টের যদি ইতোমধ্যেই অ্যাপলিকেশন কোড থাকে, সাইটটি /website (বা /site)‑এ রাখুন যেন অবদানকারীদের শুরু কোথায় হবে তা বোঝাতে সমস্যা না হয়।
/website-এর ভিতরে একটি সংক্ষিপ্ত README যোগ করুন
/website/README.md তৈরি করুন যা উত্তর দেয়: “আমি কীভাবে আমার পরিবর্তন প্রিভিউ করব?” সংক্ষিপ্ত ও কপি‑পেস্ট‑ফ্রেন্ডলি রাখুন।
উদাহরণ দ্রুত শুরু (আপনার স্ট্যাক অনুযায়ী সমন্বয় করুন):
# Website quickstart
## Requirements
- Node.js 20+
## Install
npm install
## Run locally
npm run dev
## Build
npm run build
## Lint (optional)
npm run lint
এছাড়াও কি‑ফাইলগুলো (নেভিগেশন, ফুটার, রিডাইরেক্ট) কোথায় থাকে এবং কীভাবে নতুন পৃষ্ঠা যোগ করবেন তা উল্লেখ করুন।
মানুষ কপি করে ব্যবহার করতে পারে এমন কনটেন্ট টেমপ্লেট দিন
টেমপ্লেটগুলো ফরম্যাটিং বিতর্ক কমায় এবং রিভিউ দ্রুত করে। একটি /templates ফোল্ডার যোগ করুন (অথবা /docs/CONTRIBUTING.md‑এ টেমপ্লেট ডকুমেন্ট করুন)।
/templates
docs-page.md
tutorial.md
announcement.md
একটি ন্যূনতম ডকস পেজ টেমপ্লেট হতে পারে:
---
title: "Page title"
description: "One-sentence summary"
---
## What you’ll learn
## Steps
## Troubleshooting
রিভিউ রুট করার জন্য CODEOWNERS ব্যবহার করুন (যেখানে প্রযোজ্য)
আপনার নির্দিষ্ট এলাকা মেইনটেইনারদের জন্য /.github/CODEOWNERS যোগ করুন যাতে সঠিক লোকদের অটোম্যাটিক অনুরোধ যায়:
/docs/ @docs-team
/blog/ @community-team
/website/ @web-maintainers
কনফিগারেশন ঘরোয়া ও ক্লিয়ার রাখুন
প্রতিটি টুলের জন্য এক ক্যানোনিকাল কনফিগ ফাইল রাখুন এবং সংক্ষিপ্ত কমেন্ট দিয়ে “কেন” বুঝিয়ে দিন। লক্ষ্য হল নতুন অবদানকারী একটি মেনু আইটেম পরিবর্তন বা টাইপো ঠিক করতে পুরো বিল্ড সিস্টেম শেখার প্রয়োজন না পড়ুক।
অবশ্যই অনুসরণ করা অবদান নির্দেশিকা তৈরি করুন
ওয়েবসাইটে কনট্রিবিউশন কোডবেসের চেয়ে ভিন্ন ধরনের: কপি এডিট, নতুন উদাহরণ, স্ক্রিনশট, অনুবাদ, ছোট UX টুইক। যদি আপনার CONTRIBUTING.md কেবল ডেভেলপারদের জন্য লেখা হয়, আপনি অনেক সম্ভাব্য সহায়তা হারাবেন।
CONTRIBUTING.md-কে “ওয়েবসাইট-প্রথম” করুন
একটি CONTRIBUTING.md তৈরি বা আলাদা করুন যা ওয়েবসাইট পরিবর্তনের উপর কেন্দ্রীভূত: কনটেন্ট কোথায় থাকে, কীভাবে পেজ জেনারেট হয়, এবং “সম্পন্ন” কী মানে। একটি ছোট "কমন টাস্কস" টেবিল যোগ করুন (টাইপো ঠিক করা, নতুন পৃষ্ঠা যোগ করা, নেভিগেশন আপডেট, ব্লগ পোস্ট প্রকাশ) যাতে নবাগতরা মিনিটের মধ্যে শুরু করতে পারে।
আপনার কাছে যদি বিস্তারিত গাইড থাকে, সেগুলোকে CONTRIBUTING.md থেকে স্পষ্টভাবে লিংক করুন (উদাহরণ: /docs‑এর অধীনে একটি walkthrough)।
কীভাবে পরিবর্তন প্রস্তাব করবেন (ইস্যু বনাম PR) ব্যাখ্যা করুন
স্পষ্টভাবে বলুন কখন প্রথমে ইস্যু খুলবেন বনাম সরাসরি PR পাবেন:
- ইস্যু খুলুন নতুন পেজ, স্ট্রাকচার পরিবর্তন, বা যে কোনো জিনিস যেটা আলোচনার প্রয়োজন।
- সরাসরি PR স্বাগত টাইপো, ভাঙা লিঙ্ক, ছোট ক্ল্যারিফিকেশন এবং স্পষ্ট আপডেটের জন্য।
একটি “good issue template” স্নিপেট অন্তর্ভুক্ত করুন: পৃষ্ঠা URL, কী পরিবর্তন, কেন এটা পাঠকের জন্য সহায়ক, এবং সূত্র যেগুলো রয়েছে।
এমন রিভিউ প্রত্যাশা সেট করুন যা মানুষ বিশ্বাস করবে
শান্তনার টাকা মূলত নীরবতা থেকে আসে—মন্তব্য নয়। নির্ধারণ করুন:
- সাধারণ সাড়া সময় (উদাহরণ: “আমরা ৩ কার্যদিবসের মধ্যে স্বীকার করি”)
- প্রয়োজনীয় অনুমোদন (উদাহরণ: নতুন পেজের জন্য একটি মেইনটেইনার + একটি ডকস রিভিউয়ার)
- স্টাইল চেক (লিন্টার, ফরম্যাটিং, লিংক চেকার, বানান) এবং অবদানকারীরা কী লোকালি চালাবেন
প্রতিটি PR‑এর জন্য কনটেন্ট চেকলিস্ট যোগ করুন
একটি হালকা ওজনের চেকলিস্ট ব্যাক‑এন্ড‑এ ফিরতি কমায়:
- লিঙ্কগুলো কাজ করে (ইন্টারনাল পেজগুলোর জন্য আপেক্ষিক লিঙ্ক প্রেফার করুন)
- স্ক্রিনশট আপ‑টু‑ডেট এবং alt টেক্সট আছে
- হেডিংগুলো স্ক্যানযোগ্য; টোন বিদ্যমান ডকসের মতো
- অ্যাক্সেসিবিলিটি বেসিক: কালার কনট্রাস্ট, কীবোর্ড‑ফ্রেন্ডলি প্যাটার্ন, ডিসক্রিপটিভ লিংক টেক্সট
- পরিবর্তন ব্যবহারকারীদের প্রভাবিত করলে চেঞ্জলগ নোট
রিভিউ ও প্রকাশন ওয়ার্কফ্লো ডিজাইন করুন
একটি কমিউনিটি সাইট তখনই সুস্থ থাকে যখন অবদানকারীরা জানে তারা PR খোলার পর কী হবে। লক্ষ্য একটি স্বীচ্ছন্দ্যপূর্ণ, কম‑ঘর্ষণ এবং নিরাপদ শিপিং ওয়ার্কফ্লো।
ব্যাক‑এন্ড‑এ কম কথাবার্তা কমায় এমন PR টেমপ্লেট দিয়ে শুরু করুন
.github/pull_request_template.md যোগ করুন যা রিভিউয়ারের প্রয়োজনীয় তথ্যগুলো শুধুমাত্র জিজ্ঞাসা করে:
- কি পরিবর্তন হয়েছে? (এক‑দুই বাক্য)
- কেন? (ইস্যুর লিংক বা প্রেক্ষাপট)
- স্ক্রিনশট (ভিজ্যুয়াল পরিবর্তনের জন্য—পূর্ব/পরবর্তী)
- কনটেন্ট চেকলিস্ট (বানান, লিংক, ফ্রন্টম্যাটার)
এই কাঠামো রিভিউ জোড়াল এবং অবদানকারীদের “ভাল” কী তা শেখায়।
প্রতিটি PR‑কে করে দেখুন প্রিভিউ ডিপ্লয়মেন্ট দিয়ে
প্রিভিউ ডিপ্লয়মেন্ট সক্রিয় করুন যাতে রিভিউয়াররা লাইভ সাইটে পরিবর্তন দেখতে পারে। নেভিগেশান, স্টাইলিং এবং লেআউটে এমন সমস্যাগুলো যা টেক্সট ডিফে ধরা পড়ে না সেগুলো এখানে সহজে ধরা যায়।
সাধারণ প্যাটার্ন:
- PR খোলা → CI সাইট বিল্ড করে
- হোস্টিং প্রোভাইডার PR‑এ প্রিভিউ URL পোস্ট করে
- রিভিউয়ার ক্লিক করে যাচাই করে এবং প্রয়োজনে পরিবর্তন অনুরোধ করে
কষ্টসাধ্য ও ভুলপ্রবণ চেকগুলো অটোমেট করুন
প্রতি PR‑এ CI দিয়ে হালকা গেট চালান:
- লিঙ্ক চেকার ভাঙা লিংক ধরতে
- Markdown lint ফরম্যাট বজায় রাখতে
- Formatting (Prettier বা অনুরূপ) স্টাইল বিতর্ক এড়াতে
শীঘ্রই ফেল করুন, স্পষ্ট ত্রুটি বার্তা দিন যাতে অবদানকারী নিজেই ঠিক করতে পারে।
প্রকাশনকে সহজ রাখুন: main-এ মার্জ হওয়াতেই ডিপ্লয়
একটি স্পষ্ট নীতি ডকুমেন্ট করুন: যখন একটি PR অনুমোদিত এবং main-এ মার্জ হয়, সাইট স্বয়ংক্রিয়ভাবে ডিপ্লয় হয়। কোনো ম্যানুয়াল ধাপ নেই। /contributing এ সঠিক আচরণ লিখে রাখুন।
আপনি যদি এমন প্ল্যাটফর্ম ব্যবহার করেন যা স্ন্যাপশট/রোলব্যাক সমর্থন করে (কিছু হোস্ট করে, এবং Koder.ai‑র মাধ্যমে ডিপ্লয় করলে আছে), কোথায় “last known good” বিল্ড পাওয়া যায় এবং কীভাবে পুনরুদ্ধার করতে হয় তা ডক করুন।
প্রয়োজনে রোলব্যাক ধাপ আগে থেকেই লিখে রাখুন
ডিপ্লয় কখনও খারাপ হতে পারে। একটি সংক্ষিপ্ত রোলব্যাক প্লেবুক ডকুমেন্ট করুন:
- মার্জ কমিট reverক্ট (revert) করুন (বা last known‑good tag রিস্টোর করুন)
- নিশ্চিত করুন ডিপ্লয় পুনরায় চলে
- কি ঘটেছিল এবং কীভাবে প্রতিরোধ করতে হবে সে বিষয়ে ফলো‑আপ ইস্যু খোলুন
কনটেন্টের জন্য একটি ধারাবাহিক ডিজাইন সিস্টেম বানান
পেজগুলো এক‑রকম দেখলে পাঠকরা ও অবদানকারীরা স্বাচ্ছন্দ্যবোধ করে। একটি হালকা ডিজাইন সিস্টেম অবদানকারীদের দ্রুত কাজ করতে দেয়, রিভিউ‑এ জটিলতা কমায় এবং সাইট বড় হলেও পাঠকদের পথ হারাতে দেয় না।
পুনব্যবহারযোগ্য লেআউট ও নেভিগেশন নীতিমালা দিয়ে শুরু করুন
ছোট পেজ টাইপ সেট করুন এবং সেগুলো রক্ষা করুন: docs page, blog/news post, landing page, reference page। প্রতিটি টাইপে ঠিক করে নিন কি সবসময় থাকবে (শিরোনাম, সারাংশ, last updated, টেবিল অফ কন্টেন্টস, ফুটার লিঙ্ক) এবং কী কখনও থাকবে না।
নেভিগেশন নিয়ম রাখুন:
- টপ‑লেভেল ক্যাটাগরি স্থিতিশীল রাখুন; নতুন পৃষ্ঠা প্রথমে বিদ্যমান গ্রুপের মধ্যে যোগ করুন
- সাইডবারে ৩ স্তরের বেশি নেস্টিং এড়িয়ে চলুন
- নতুন পেজ অবশ্যই ঘোষণা করুক কোথায় আছে (উদাহরণ:
sidebar_positionবাweight)
পুনরায় ব্যবহারযোগ্য কনটেন্ট কম্পোনেন্ট তৈরি করুন
অবদানকারীদের বলার বদলে “এটা কেভাবে দেখতে হবে” বিল্ডিং ব্লক দিন:
- নোট, ওয়্যার্নিং, টিপসের জন্য কলে‑আউট
- স্ট্যান্ডার্ড কোড ব্লক ভাষা ট্যাগ, লাইন র্যাপ নিয়ম, ও কপি‑বাটন (সমর্থিত হলে)
- API রেফারেন্স প্যাটার্ন (এন্ডপয়েন্ট টেবিল, প্যারামিটার, রেসপন্স, উদাহরণ)
একটি সংক্ষিপ্ত “Content UI Kit” পেজে (উদাহরণ: /docs/style-guide) কপি‑পেস্ট উদাহরণ দিয়ে এগুলো ডকুমেন্ট করুন।
ব্র্যান্ডিং হালকা রাখুন
ন্যূনতম নির্ধারণ করুন: লোগো ব্যবহারের নিয়ম (যেখানে টেনে বা রঙ পরিবর্তন করা যাবে না), 2–3 মূল রং অ্যাক্সেসিবল কনট্রাস্টসহ, এবং 1–2 ফন্ট। লক্ষ্য হলো “ভাল পর্যাপ্ত” সহজ করা, সৃজনশীলতা পলিসি করা না।
স্ক্রিনশট ও ডায়াগ্রাম রক্ষণাবেক্ষণ সহজ করুন
কনভেনশন নির্ধারণ করুন: ফিক্সড উইডথ, সমান প্যাডিং, feature-name__settings-dialog.png-এর মতো নামকরণ। ডায়াগ্রামের সোর্স ফাইল (Mermaid বা সম্পাদনাযোগ্য SVG) রাখুন যাতে আপডেট করতে ডিজাইনার লাগে না।
ইনফরমেশন হায়ারার্কি রক্ষা করুন
PR টেমপ্লেটে একটি সাধারণ চেকলিস্ট যোগ করুন: “এ জন্য ইতিমধ্যেই একটি পৃষ্ঠা আছে কি?”, “শিরোনাম কি সে সেকশনের সাথে মেলে?”, “এটি কি নতুন টপ‑লেভেল ক্যাটাগরি তৈরি করবে?”—এগুলো কনটেন্ট স্প্রল থামায় কিন্তু অবদানকে উৎসাহ দেয়।
সাইটটি অ্যাক্সেসিবল, দ্রুত এবং সার্চ‑যোগ্য রাখুন
কমিউনিটি সাইট তখনই কাজ করে যখন মানুষ এটি ব্যবহার করতে পারে—সহায়ক প্রযুক্তি দিয়ে, ধীর সংযোগে এবং সার্চের মাধ্যমে। অ্যাক্সেসিবিলিটি, পারফরম্যান্স, এবং SEO‑কে ডিফল্ট হিসেবে বিবেচনা করুন, না কি পরে যোগ করা পলিশ হিসেবে।
অ্যাক্সেসিবিলিটি: প্রতি বার বেসলাইন ধরুন
সেমান্টিক স্ট্রাকচারে শুরু করুন। হেডিং ক্রমানুসারে ব্যবহার করুন (পৃষ্ঠা‑এ H1 তারপর H2/H3) এবং মাত্র বড় ফন্ট পাওয়ার জন্য স্তর ছাড়বেন না।
নন‑টেক্সট কনটেন্টের জন্য অর্থবহ alt টেক্সট আবশ্যক। সহজ নিয়ম: যদি একটি ইমেজ তথ্য বহন করে, তা বর্ণনা করুন; যদি শুধুই শোভামাত্রা, খালি alt (alt=\"\") ব্যবহার করুন যাতে স্ক্রিন রিডার বাদ দিয়ে দেয়।
রঙ কনট্রাস্ট ও ফোকাস স্টেট আপনার ডিজাইন টোকেনগুলোতে সেট করুন যাতে অবদানকারীরা অনুমান না করে। নিশ্চিত করুন প্রতিটি ইন্টারেকটিভ উপাদান কীবোর্ডে পৌঁছানোর যোগ্য এবং ফোকাস মেনু/ডায়ালগ/কোড উদাহরণে আটকানো না হয়।
পারফরম্যান্স: পেজ হালকা রাখুন
ডিফল্টভাবে ইমেজ অপ্টিমাইজ করুন: সর্বোচ্চ ডিসপ্লে সাইজে রিসাইজ করুন, কমপ্রেস করুন, এবং যেখানে বিল্ড সাপোর্ট করে আধুনিক ফরম্যাট ব্যবহার করুন। প্রায় সব পৃষ্ঠাই টেক্সট‑ভিত্তিক হলে বড় ক্লায়েন্ট‑সাইড বান্ডেল লোড করা এড়ান।
প্রতিটি থার্ড‑পার্টি স্ক্রিপ্ট বাড়ে ওয়েট; যতটা সম্ভব সীমিত রাখুন।
হোস্টের ক্যাশিং ডিফল্ট (immutable assets with hashes) ব্যবহার করুন। যদি SSG মিনিফায় ও ইনলাইন ক্রিটিক্যাল CSS/JS সমর্থন করে, কেবল যা সত্যিই জরুরি ইনলাইন করুন।
ডিসকভারি: কাজ করা SEO
প্রতিটি পেজে স্পষ্ট টাইটেল ও সংক্ষিপ্ত মেটা ডেসক্রিপশন দিন যা পেজ প্রদত্ত বিষয়ের সঙ্গে মেলে। পরিষ্কার, স্থিতিশীল URL ব্যবহার করুন (তারিখ না থাকলে রাখবেন না) এবং consistent canonical paths রাখুন।
সাইটম্যাপ এবং robots.txt জেনারেট করুন যাতে পাবলিক ডক্স ইনডেক্সিং অনুমোদিত থাকে। যদি আপনি বহু সংস্করণ প্রকাশ করেন, ডুপ্লিকেট কনটেন্ট এড়াতে একটি সংস্করণ “কারেন্ট” হিসেবে চিহ্নিত করুন এবং অন্যগুলোর লিংক স্পষ্ট রাখুন।
অ্যানালিটিক্স ও লাইসেন্সিং: স্বচ্ছ থাকুন
অ্যানালিটিক্স যোগ করুন কেবল যদি আপনি ডেটা নিয়ে কাজ করবেন। করলে, কী সংগ্রহ করা হচ্ছে, কেন এবং কীভাবে অপ্ট‑আউট করতে হয় তা একটি ডেডিকেটেড পেজে (উদাহরণ: /privacy) ব্যাখ্যা করুন।
রেপোতে কনটেন্ট লাইসেন্স স্পষ্টভাবে উল্লেখ করুন (কোড লাইসেন্স থেকে আলাদা হলে আলাদা করুন)। ফুটারে এবং রেপো README‑তে রাখুন যাতে অবদানকারীরা জানে তাদের টেক্সট ও ছবি কীভাবে পুনরায় ব্যবহার করা যেতে পারে।
নতুনদের যোগদানের সাহায্যে মূল পেজগুলো তৈরি করুন
আপনার সাইটের মূল পেজগুলোই নবাগতদের “ফ্রন্ট ডেস্ক”। যদি তারা সহজেই গুরুত্বপুর্ণ প্রশ্নগুলোর উত্তর পায়—প্রকল্প কী, কীভাবে চেষ্টা করবেন, এবং কোথায় সাহায্যের প্রয়োজন—তবে আরও মানুষ কৌতূহল থেকে কাজ শুরু করবে।
অনবোর্ডিং: “এই প্রজেক্ট কি?” ও “Quickstart” থেকে শুরু করুন
সরল ভাষায় একটি ওভারভিউ পৃষ্ঠা তৈরি করুন: প্রকল্পটি কী করে, কাদের জন্য, ও সফলতা কেমন দেখায়। কয়েকটি বাস্তব উদাহরণ এবং ছোট “এটা কি আপনার জন্য?” অংশ দিন।
তারপর একটি Quickstart পৃষ্ঠা দিন যা মোমেন্টাম বাড়াবে: একটি পথ যা প্রথম সফল রান দেয়, কপি‑পেস্ট কমান্ড ও সংক্ষিপ্ত ট্রাবলশুট ব্লকের সঙ্গে। প্ল্যাটফর্ম ভিন্ন হলে প্রধান পথটি ছোট রাখুন এবং বিস্তারিত গাইডে লিংক দিন।
প্রস্তাবিত পেজ:
- /docs/overview — “এই প্রজেক্ট কি?”
- /docs/quickstart — সবচেয়ে সংক্ষিপ্ত কাজ করার পথ
মানুষকে সঠিক কাজে পাঠানোর “Contribute” হাব তৈরি করুন
একটি একক /contribute পৃষ্ঠা নির্দেশ করবে:
- Good first issues (ফিল্টার করা ইস্যু লিস্টের লিংক)
- ডক টাস্ক (লেবেল করা ইস্যু বা
/docs/contributing) - অনুবাদ/লোকালাইজেশন (কীভাবে locale যোগ করবেন, স্ট্রিং কোথায় থাকে)
নির্দিষ্ট থাকুন: ৩–৫টি কাজ নাম বলুন যা আপনি আসলে এই মাসে চান এবং সঠিক ইস্যু লিংক করুন।
কমিউনিটি পেজগুলো যেখানে প্রত্যাশা নির্দিষ্ট করা আছে
প্রয়োজনীয়গুলো পাবলিক পেজ হিসেবে প্রকাশ করুন, রেপো‑ভিত্তিক নয়:
- Code of Conduct (এবং রিপোর্ট করার পদ্ধতি)
- চ্যাট/কমিউনিটি লিঙ্ক এবং সাড়া‑সময় প্রত্যাশা
- মিটিং নোট আর্কাইভ (
/community/meetings)
রিলিজ নোট/চেঞ্জলগ টেমপ্লেট সহ
/changelog (অথবা /releases) যোগ করুন একটি ধারাবাহিক ফরম্যাটে: তারিখ, হাইলাইট, আপগ্রেড নোট এবং PR/ইস্যু লিংক। টেমপ্লেট মেইনটেইনারদের পরিশ্রম কমায় এবং কমিউনিটি‑লিখিত নোট রিভিউ করা সহজ করে।
অ্যাডপ্টার/প্লাগইন শো কেস—শুধু যদি আপনি তা আপ‑টু‑ডেট রাখতে পারেন
শো কেস উৎসাহিত করতে পারে, কিন্তু পুরনো তালিকা ক্ষতিসাধক। যদি /community/showcase রাখেন, একটি হালকা নিয়ম রাখুন (যেমন “ত্রৈমাসিকে রিভিউ”) এবং জমা দেওয়ার জন্য সহজ ফর্ম বা PR টেমপ্লেট দিন।
চলমান কমিউনিটি আপডেট ও লোকালাইজেশন সমর্থন করুন
একটি কমিউনিটি সাইট তখনই সুস্থ থাকে যখন আপডেট করা সহজ, নিরাপদ, এবং পুরস্কৃত—এমনকি প্রথমবারের অবদানকারীর জন্যও। আপনার লক্ষ্য: “কোথায় ক্লিক করতে হবে?” ঘাটতি কমানো এবং ছোট উন্নয়নের মূল্যবান মনে করানো।
প্রতিটি পেজকে এক ক্লিকে সম্পাদ্য রাখুন
ডক্স, গাইড এবং FAQ-তে একটি স্পষ্ট “Edit this page” লিঙ্ক দিন। এটি সরাসরি রেপোতে ফাইলটি নির্দেশ করুক যাতে PR ফ্লো খুবই কম ধাপে খোলা যায়।
লিংক টেক্সট বন্ধুত্বপূর্ণ রাখুন (উদাহরণ: “Fix a typo” বা “Improve this page”) এবং কনট্রিবিউটিং গাইডে লিংক রাখুন (উদাহরণ: /contributing)।
অনুবাদকে সহজ কাঠামো দিয়ে সমর্থন করুন
লোকালাইজেশন তখন সর্বোত্তম কাজ করে যখন ফোল্ডার লেআউট এক নজরে সব জানায়। সাধারণ পদ্ধতি:
- /docs/en/…
- /docs/es/…
- /docs/ja/…
রিভিউ ধাপ ডকুমেন্ট করুন: কে অনুবাদ অনুমোদন করতে পারে, আংশিক অনুবাদ কিভাবে হ্যান্ডেল করবেন, এবং কীভাবে কোন পৃষ্ঠা পিছিয়ে আছে তা ট্র্যাক করবেন। উৎস ভাষার পেছনে থাকা অনুবাদে ছোট নোট যোগ করার কথা বিবেচনা করুন।
“latest vs stable” গাইডেন্স যোগ করুন (প্রয়োজনে ভার্সনড ডকস)
প্রজেক্ট যদি রিলিজ চালায়, পড়ার জন্য ব্যবহারকারীরা কী পড়বে তা স্পষ্ট করুন:
- “Latest” ডেভেলপমেন্ট
- “Stable” সাম্প্রতিক রিলিজ
সম্পূর্ণ ডক ভার্সনিং না থাকলেও একটি ছোট ব্যানার বা সিলেক্টর যা পার্থক্য বুঝায় কনফিউশন কমায় এবং সাপোর্ট বোঝায়।
FAQ এবং ট্রাবলশুটিং আপডেট সহজ করুন
FAQ‑কে একই কনটেন্ট সিস্টেমে রাখুন (রেপো মন্তব্যে চাপা না)। এটিকে দৃশ্যমানভাবে লিংক করুন (উদাহরণ: /docs/faq) এবং মানুষকে সমস্যা পেলে ফিক্স জমা দেওয়ার জন্য উৎসাহিত করুন।
ছোট, উচ্চ‑প্রভাবের অবদানগুলো উৎসাহিত করুন
স্পষ্টভাবে দ্রুত জিতগুলো আমন্ত্রণ করুন: টাইপো ফিক্স, উদাহরণগুলো অনেক পরিষ্কার করা, স্ক্রিনশট আপডেট, এবং "এটি আমার জন্য কাজ করেছে" ধাঁচের ট্রাবলশুটিং নোট। এগুলো নতুন অবদানকারীদের প্রবেশপথ এবং সাইটকে ক্রমাগত উন্নত করে।
আপনি যদি লেখা ও রক্ষণাবেক্ষণের জন্য উৎসাহ দিতে চান, তাহলে কি দিয়ে পুরস্কৃত করবেন তা স্বচ্ছ রাখুন: ছোট স্পন্সরশিপ, ক্রেডিট ইত্যাদি—Koder.ai‑এর “earn credits” প্রোগ্রাম অনুপ্রেরণামূলক হতে পারে।
মেইনটেইনারদের জ্বালানি ছাড়া সাইট রক্ষণাবেক্ষণ করুন
কমিউনিটি-চালিত সাইট বন্ধুত্বপূর্ণ হওয়া উচিত—কিন্তু কয়েকজন লোকের উপর অসীম কাজ চাপিয়ে নয়। লক্ষ্য করুন রক্ষণাবেক্ষণ প্রত্যাশাযোগ্য, হালকা ও ভাগ করা যায় এমন করা।
সরল রক্ষণাবেক্ষণ রুটিন নির্ধারণ করুন
একটি ক্যাডেন্স বাছুন যা মানুষ মনে রাখতে পারে এবং যা অটোমেট করা যায়:
- সাপ্তাহিক (অটোমেটেড): ভাঙা লিঙ্ক চেক, বেসিক স্পেলচেক, এবং CI‑তে বিল্ড টেস্ট।
- মাসিক (১৫–৩০ মিনিট): খোলা ওয়েবসাইট PR/ইস্যু রিভিউ, ছোট ফিক্স মার্জ করা, স্টে এলো‑থ্রেড বন্ধ করা
- ত্রৈমাসিক: স্ট্যাটিক সাইট জেনারেটর ও প্লাগইন আপডেট, দ্রুত অ্যাক্সেসিবিলিটি স্পট‑চেক
এই সময়সূচী /CONTRIBUTING.md এ ডক করুন—অন্যান্যরা আত্মবিশ্বাস নিয়ে এগিয়ে আসবে।
কনটেন্ট সিদ্ধান্তের গভর্ন্যান্স নির্ধারণ করুন
টোন, নামকরণ, হোমপেজে কী থাকবে—এমন বিষয়গুলোতে দ্বন্দ্ব স্বাভাবিক: দীর্ঘ আলোচনার বদলে বলুন:
- কার আছে চূড়ান্ত সম্পাদনাধিকার (উদাহরণ: “Website Maintainers” বা ঘূর্ণায়মান সম্পাদক)
- কীভাবে বিরোধ নিরসন হবে (টাইমবক্স আলোচনা, বিকল্প প্রস্তাব, তারপর সিদ্ধান্ত)
- কি “অফিশিয়াল” বনাম “কমিউনিটি” কনটেন্ট
এটি নিয়ন্ত্রণ নয়, স্পষ্টতার বিষয়।
একটি হালকা কন্টেন্ট ক্যালেন্ডার রাখুন
ক্যালেন্ডার জটিল না হলেও কার্যকর। একটি সিঙ্গেল ইস্যু (অথবা একটি সিম্পল মার্কডাউন ফাইল) রাখুন যেখানে ভবিষ্যৎ:
- রিলিজ
- ইভেন্ট/টক
- সিকিউরিটি নোটিস
- মাসিক প্রজেক্ট আপডেট
ব্লগ/নিউজ পরিকল্পনা থেকে এটা লিংক করুন যাতে অবদানকারীরা স্বভাবে নিজেরা কাজ নেবে।
নবাগতদের সাহায্য করা সহজ করুন
পুনরাবৃত্তি ওয়েবসাইট ইস্যুগুলো (টাইপো, পুরনো স্ক্রীনশট, মিসিং লিঙ্ক, অ্যাক্সেসিবিলিটি ফিক্স) ট্র্যাক করুন এবং সেগুলোতে “good first issue” লেবেল দিন। গ্রহণযোগ্যতা মানদণ্ড দিন যেমন “একটি পৃষ্ঠা আপডেট + ফরম্যাটার চালানো + ফলাফল স্ক্রিনশট”।
লোকাল সেটআপে ট্রাবলশুটিং যোগ করুন
ডক্সে একটি সংক্ষিপ্ত “Common local setup issues” অংশ রাখুন। উদাহরণ:
# clean install
rm -rf node_modules
npm ci
npm run dev
সর্বোচ্চ ২–৩টি সাধারণ গটচা উল্লেখ করুন (ভুল Node ভার্সন, অনুপস্থিত Ruby/Python ডিপেন্ডেন্সি, পোর্ট ইতিমধ্যেই ব্যস্ত)। এটি ব্যাক‑এন্ড কথাবার্তাকে কমায় এবং মেইনটেইনারদের শক্তি বাঁচায়।
সাধারণ প্রশ্ন
আমি কীভাবে সিদ্ধান্ত নেব আমার ওপেন-সোর্স প্রজেক্টের ওয়েবসাইটের আসল উদ্দেশ্য কী?
একটি এক-পটভূমির উদ্দেশ্য বাক্য লিখুন, তারপর সাইটটিকে অবশ্যই করা প্রয়োজন এমন শীর্ষ 1–3 কাজ তালিকাভুক্ত করুন (উদাহরণ: ডকুমেন্টেশন, ডাউনলোড, কমিউনিটি, আপডেট)। যদি কোনো পৃষ্ঠা বা ফিচার সেই কাজগুলো সমর্থন না করে, সেটিকে আপাতত নন-গোল হিসেবে বিবেচনা করুন।
একটি সহজ পরীক্ষা: যদি আপনি সাইটের উদ্দেশ্য এক বাক্যে বোঝাতে না পারেন, ভিজিটররাও পারবেন না।
সাইটকে কোন দর্শকদের জন্য ডিজাইন করা উচিত, এবং তাদের জন্য কিভাবে ডিজাইন করব?
আপনার প্রধান দর্শকরা তালিকাভুক্ত করুন এবং প্রতিটি গোষ্ঠীর সেই “প্রথম ক্লিক” নির্ধারণ করুন:
- Users → Quickstart, ইনস্টল, ট্রাবলশুটিং
- Contributors → অবদান করার ধাপ, “good first issues”
- Maintainers → প্রকাশনের ওয়ার্কফ্লো, রিভিউ প্রত্যাশা
- Sponsors → প্রকল্পের প্রভাব দেখানো, কীভাবে সমর্থন করবেন
প্রতিটি দর্শকের জন্য তারা আসার সময় যে শীর্ষ ৩টি প্রশ্ন নিয়ে আসে তা লিখুন (উদাহরণ: “এটি সক্রিয়ভাবে রক্ষণাবেক্ষণ হচ্ছে?”, “আমি কোথায় বাগ রিপোর্ট করব?”) এবং নিশ্চিত করুন আপনার নেভিগেশন দ্রুত উত্তর দেয়।
একটি ওপেন-সোর্স সাইটের জন্য কীভাবে একটি ডিফল্ট সাইটম্যাপ হওয়া উচিত?
মানবদের অনুসন্ধানের সঙ্গে মেলে এমন “উদার কিন্তু নির্ভরযোগ্য” সাইটম্যাপ দিয়ে শুরু করুন:
- Home
- Docs
- Blog/News
- Community
- Contribute
- Governance
যদি নতুন কনটেন্ট এগুলোর মধ্যে না ফিট করে, সেটি ইঙ্গিত করে যে হয় নতুন কন্টেন্ট টাইপ দরকার (অল্পই), বা তথ্যটি রেপোতে থাকা উচিত।
ওয়েবসাইটে কি রাখা উচিত আর কী README-তে রাখা উচিত?
README ডেভেলপার-ফোকাসড জরুরি বিষয়ের জন্য রাখুন: বিল্ড নির্দেশনা, লোকাল ডেভ সেটআপ, টেস্ট। ওয়েবসাইটে রাখুন:
- নতুন ব্যবহারকারী এবং অবদানকারীদের অনবোর্ডিং কনটেন্ট
- দীর্ঘ গাইড ও টিউটোরিয়াল
- পাবলিক নীতি (Code of Conduct, governance)
- রিলিজ নোট ও ঘোষণাপত্র
এই আলাদা রাখার ফলে একই কনটেন্ট দ্বৈতভাবে বজায় না রেখে সিঙ্ক থেকে বিচ্ছিন্ন হওয়া রোধ হয়।
কোন স্ট্যাটিক সাইট জেনারেটরটি কমিউনিটি অবদানের জন্য ভাল?
একটি স্ট্যাক বেছে নিন যা “Markdown‑first” এডিট এবং দ্রুত লোকাল প্রিভিউ সমর্থন করে। সাধারণ পছন্দসমূহ:
- Docusaurus: ডক ভার্সনিং ও সাইডবারের জন্য ভালো
- MkDocs (Material): অবদানকারীদের জন্য সহজ; শক্তিশালী সার্চ
- Hugo: দ্রুত বিল্ড, নমনীয় কনটেন্ট টাইপ
- Jekyll: GitHub Pages-এ সোজা কাজ করে, সহজ সাইটের জন্য যথেষ্ট
- Astro: কাস্টম UI লাগলে ভাল
আজকের চাহিদা মেটাবে এমন সোজা টুল বেছে নিন, ভবিষ্যতের সব চাহিদা নয়।
আমি কীভাবে প্রিভিউ সেটআপ করব যাতে অবদানকারীরা প্রকাশের আগে তাদের পরিবর্তন দেখতে পারে?
লক্ষ্য রাখুন “PR → preview → review → merge”। অনুশীলনে:
- একটি হোস্ট নির্বাচন করুন যা প্রিভিউ বিল্ড দেবে এবং PR-এ প্রিভিউ URL পাঠাবে
- যেখানে প্রিভিউগুলি দেখায় এবং কীভাবে রিভিউ চাওয়া যায় তা ডকুমেন্ট করুন
- ডিপ্লয়মেন্ট নিয়ম সহজ রাখুন (উদাহরণ: “merge to
maindeploys”)
এটি রিভিউয়ারের সঙ্গে ব্যাক‑এন্ড কমায় এবং অবদানকারীর আত্মবিশ্বাস বাড়ায়।
ওয়েবসাইটে অবদানের কাজকে সহজ করার জন্য রেপো সেটআপ কীরকম হওয়া উচিত?
গঠন ও টেমপ্লেট ব্যবহার করে ফরম্যাটিং বিতর্ক কমান। কার্যকর বেসিকস:
- পরিষ্কার লেআউট:
/website,/docs,/blog,/.github - সংক্ষিপ্ত
/website/README.mdযা লোকালভাবে রান করার কপি-পেস্টযোগ্য কমান্ড দেয় /templatesফোল্ডার (docs page, tutorial, announcement)CODEOWNERSদিয়ে এলাকা অনুযায়ী রিভিউ রুট করুন
লক্ষ্য: কেউ একটি টাইপো ঠিক করতে বা একটি পৃষ্ঠা যোগ করতে build expert হতে হবে না।
একটি কমিউনিটি ওয়েবসাইটের CONTRIBUTING গাইডে কী থাকা উচিত?
CONTRIBUTING.md-কে ওয়েবসাইট-প্রথম করে লিখুন এবং স্পষ্ট রাখুন। অন্তর্ভুক্ত করুন:
- কনটেন্ট কোথায় থাকে এবং পেজ কীভাবে জেনারেট হয়
- কখন ইস্যু খুলবেন বনাম সরাসরি PR করবেন
- প্রত্যাশিত সাড়া সময় এবং দরকারি অনুমোদন
- একটি ছোট PR চেকলিস্ট (লিঙ্ক, স্ক্রিনশট/alt টেক্সট, টোন, অ্যাক্সেসিবিলিটি বেসিক)
সংক্ষিপ্ত রাখুন যাতে মানুষ পড়ে এবং প্রয়োজনে গভীর ডকগুলোর লিংক দিন।
আমি কীভাবে সাইটকে অ্যাক্সেসিবল, দ্রুত এবং খোঁজযোগ্য রাখব?
এসবকে ডিফল্ট হিসেবে বিবেচনা করুন:
- সেমান্টিক হেডিং ব্যবহার করুন (স্তর বাদ দেবেন না)
- কীবোর্ড নেভিগেশন কাজ করে এবং ফোকাস স্টেট স্পষ্ট
- তথ্যবহুল ইমেজে অর্থপূর্ণ alt টেক্সট; শোভামাত্রার জন্য খালি alt
- ইমেজ অপটিমাইজ করুন (রিসাইজ + কমপ্রেস) এবং থার্ড‑পার্টি স্ক্রিপ্ট সীমিত রাখুন
- প্রতিটি পেজে স্পষ্ট টাইটেল ও মেটা ডেসক্রিপশন দিন; URLs স্থিতিশীল রাখুন
অটোমেটেড চেক (লিঙ্ক চেকার, Markdown lint, ফরম্যাটার) রাখুন যাতে রিভিউ ম্যানুয়ালি না করতে হয়।
কোন মূল পেজগুলো থাকা উচিত যাতে লোকেরা সহজে অবদান দিতে পারে?
আপনার ওয়েবসাইটের ‘ফ্রন্ট‑ডেস্ক’ পেজগুলো নতুন অবদানকারীদের দ্রুত কার্যকর করতে সাহায্য করবে:
- পরিষ্কার ভাষায় একটি ওভারভিউ: প্রকল্প কী, কাদের জন্য, সফলতা কেমন দেখায়
- Quickstart: একটুকু পথ যা প্রথম সফল রানটি দেয়—কমান্ড কপি‑পেস্টযোগ্য ও ছোট ট্রাবলশুট ব্লক সহ
প্রস্তাবিত পেজ:
- /docs/overview — “এই প্রজেক্ট কি?”
- /docs/quickstart — সবচেয়ে সংক্ষিপ্ত কাজ করার পথ
কিভাবে একটি “Contribute” হাব ডিজাইন করব যাতে লোকেরা সঠিক কাজে ঢুকতে পারে?
একটি একক /contribute হাব হওয়া উচিত যা নির্দেশ করে:
- Good first issues (ফিল্টার করা ইস্যু লিস্টের লিংক)
- ডকুমেন্টেশন টাস্ক (লেবেল করা ইস্যু বা
/docs/contributing) - অনুবাদ/লোকালাইজেশন কাজ (কীভাবে locale যোগ করবেন, স্ট্রিং কোথায় থাকে)
বিশেষভাবে ৩–৫টি কাজ নাম নিন যা আপনি এই মাসে চান এবং সঠিক ইস্যু(গুলি) লিংক করুন।
কমিউনিটি পেজগুলোতে কী রাখা উচিত যাতে প্রত্যাশা পরিষ্কার হয়?
প্রধান পেজগুলো পাবলিকভাবে প্রথম-শ্রেণীর কূপে রাখুন, রেপো-ভিত্তিক নয়:
- Code of Conduct (এবং রিপোর্ট করার পথ)
- চ্যাট/কমিউনিটি লিংক (Discord/Matrix/Slack) এবং সাড়া‑সময়ের প্রত্যাশা
- মিটিং নোট (সরল আর্কাইভ:
/community/meetings)
পেজগুলো স্পষ্টভাবে থাকা জরুরি যাতে প্রত্যাশা সেট করা যায়।
রিলিজ নোট/চেঞ্জলগ কিভাবে গঠন করা উচিত?
একটি /changelog বা /releases রাখুন একটি একরকম ফরম্যাটে: তারিখ, হাইলাইট, আপগ্রেড নোট, এবং PR/ইস্যু লিংক। টেমপ্লেটগুলো রক্ষণাবেক্ষণ effort কমায় এবং কমিউনিটি-লিখিত নোটগুলিকে রিভিউ করা সহজ করে।
আদর্শ ব্যবহারকারী/প্লাগইন শো কেস রাখা উচিত কি?
শো কেস ভালো হতে পারে যদি আপনি তা আপ‑টু‑ডেট রাখতে পারেন; পুরনো তালিকা বিশ্বাসযোগ্যতা ক্ষুন্ন করে। যদি /community/showcase রাখেন, একটি হালকা নিয়ম দিন (উদাহরণ: “ত্রৈমাসিকে রিভিউ”) এবং জমা দেওয়ার জন্য ছোট ফর্ম বা PR টেমপ্লেট দিন।
অনুবাদ ও চলমান আপডেটগুলো কীভাবে সহজভাবে সমর্থন করা যায়?
প্রতিটি পেজকে এক ক্লিকে এডিট করার সুযোগ দিন: “Edit this page” লিংক যা সরাসরি রেপোতে ফাইল খুলে PR প্রবাহ সহজ করে।
অনুবাদের জন্য সোজা ফোল্ডার কাঠামো ব্যবহার করুন:
- /docs/en/…
- /docs/es/…
- /docs/ja/…
অনুবাদ অনুমোদন প্রক্রিয়া, আংশিক অনুবাদ হ্যান্ডলিং, এবং উৎস ভাষার বিকল্পতার নোট ডকুমেন্ট করুন।
দীর্ঘমেয়াদে রক্ষণাবেক্ষণ এবং মেইন্টেইনার বার্নআউট ছাড়া আপডেট কিভাবে চালানো যায়?
ছোট, উচ্চ-অর্থসম্পন্ন অবদান উৎসাহিত করুন: টাইপো ফিক্স, স্পষ্ট উদাহরণ, ছবি আপডেট, ‘এটি আমার জন্য কাজ করেছে’ নোট। এগুলো নতুন অবদানকারীদের জন্য চমৎকার প্রবেশপথ এবং সাইট ধারাবাহিকভাবে উন্নত করে।
রক্ষণাবেক্ষণকে টেকসই রাখতে:
- স্বয়ংক্রিয় সাপ্তাহিক চেক (ব্রোকেন লিংক, বেসিক স্পেলচেক, CI বিল্ড)
- মাসিক সংক্ষিপ্ত ট্রায়াজ
- রোলব্যাক ধাপগুলো ডকুমেন্ট করা (মার্জ রিভার্স, পুনরায় ডিপ্লয়, ফলো‑আপ ইস্যু)
- যদি অ্যানালিটিক্স যোগ করেন,
/privacyপেজে কি সংগ্রহ হচ্ছে এবং কেন তা প্রকাশ করুন।