Skip to content

এই reading site কীভাবে চালাবে

তোমার সব note একটা সুন্দর, searchable website হিসেবে পড়া যায় — MkDocs Material দিয়ে বানানো। সব config এখন এই data-structures ফোল্ডারের ভেতরেই (self-contained), তাই এটাই তোমার GitHub repo।

মনে রেখো: সব command এই data-structures ফোল্ডার থেকে চালাবে (যেখানে mkdocs.yml আছে)।


১. নিজের কম্পিউটারে চালানো (সবচেয়ে দরকারি)

একবার setup (Python লাগবে — python.org থেকে install করে নাও যদি না থাকে):

# Terminal/PowerShell খুলে data-structures ফোল্ডারে যাও:
cd "D:\MyFiles\DS\Data Science Study\data-structures"

# dependency install (একবারই) — mkdocs-material + mkdocs-same-dir:
pip install -r requirements.txt

এরপর যতবার পড়তে চাও:

cd "D:\MyFiles\DS\Data Science Study\data-structures"
mkdocs serve

Terminal-এ একটা link দেখাবে — http://127.0.0.1:8000 । browser-এ খোলো। বাঁ পাশে sidebar, উপরে search, ডান-উপরে 🌙 দিয়ে dark mode। File edit করলে page নিজে নিজে refresh হয়। বন্ধ করতে: Ctrl + C


২. ফোনে পড়া (একই Wi-Fi-তে)

cd "D:\MyFiles\DS\Data Science Study\data-structures"
mkdocs serve -a 0.0.0.0:8000

কম্পিউটারের local IP (ipconfig দিয়ে বের করো, যেমন 192.168.0.105), তারপর ফোনের browser-এ http://192.168.0.105:8000। (স্থায়ী সমাধান নিচের GitHub Pages।)


৩. GitHub-এ free publish (যেকোনো জায়গা থেকে পড়া + portfolio)

একটা স্থায়ী public link পাবে (https://<username>.github.io/<repo>/) — ফোন/ল্যাপটপ যেকোনো জায়গা থেকে, referral-এর সময় portfolio হিসেবেও।

ধাপ:

  1. GitHub-এ একটা নতুন repository বানাও।
  2. data-structures ফোল্ডারটাকে (এর ভেতরে mkdocs.yml, requirements.txt, .github/, সব note আছে) repo হিসেবে push করো:

    cd "D:\MyFiles\DS\Data Science Study\data-structures"
    git init
    git add .
    git commit -m "Bengali DSA learning notes + MkDocs site"
    git branch -M main
    git remote add origin https://github.com/<username>/<repo>.git
    git push -u origin main
    
  3. GitHub-এ repo-র Settings → Pages → Build and deployment → Source = "GitHub Actions" সিলেক্ট করো।

  4. ব্যস। প্রতিবার push করলে .github/workflows/deploy-docs.yml নিজে নিজে site build করে publish করবে। Link টা Settings → Pages-এ দেখাবে।

কীভাবে কাজ করে (একটু technical)

mkdocs.yml-এ docs_dir: . দেওয়া — মানে এই ফোল্ডারের সব .md-ই site-এর content। MkDocs সাধারণত config-file আর docs_dir একই ফোল্ডার হতে দেয় না, তাই mkdocs-same-dir plugin ব্যবহার করা হয়েছে (requirements.txt-এ আছে)। প্রতিটা folder-এর README.md সেই folder-এর landing page হয়ে যায়, তাই folder-link গুলো site-এ ঠিকঠাক কাজ করে।


ছোটখাটো সমস্যা

  • mkdocs: command not foundpip install -r requirements.txt আবার চালাও; অথবা python -m mkdocs serve
  • Config value 'plugins': The "same-dir" plugin is not installedpip install -r requirements.txt চালাও (mkdocs-same-dir install হবে)।
  • বাংলা ফন্ট অদ্ভুত দেখালে → browser/OS-এ একটা Bengali font (যেমন Noto Sans Bengali) থাকলেই ঠিকঠাক।
  • Navigation: বাঁ পাশের sidebar-ই মূল; খুঁজতে উপরের 🔍 search।
  • নতুন note যোগ করলে mkdocs serve চালু থাকলে site-এ সঙ্গে সঙ্গে চলে আসে।