এই 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
এরপর যতবার পড়তে চাও:
Terminal-এ একটা link দেখাবে — http://127.0.0.1:8000 । browser-এ খোলো। বাঁ পাশে sidebar, উপরে search, ডান-উপরে 🌙 দিয়ে dark mode। File edit করলে page নিজে নিজে refresh হয়। বন্ধ করতে: Ctrl + C।
২. ফোনে পড়া (একই Wi-Fi-তে)¶
কম্পিউটারের 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 হিসেবেও।
ধাপ:
- GitHub-এ একটা নতুন repository বানাও।
-
data-structuresফোল্ডারটাকে (এর ভেতরেmkdocs.yml,requirements.txt,.github/, সব note আছে) repo হিসেবে push করো: -
GitHub-এ repo-র Settings → Pages → Build and deployment → Source = "GitHub Actions" সিলেক্ট করো।
- ব্যস। প্রতিবার 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 found→pip install -r requirements.txtআবার চালাও; অথবাpython -m mkdocs serve।Config value 'plugins': The "same-dir" plugin is not installed→pip install -r requirements.txtচালাও (mkdocs-same-dir install হবে)।- বাংলা ফন্ট অদ্ভুত দেখালে → browser/OS-এ একটা Bengali font (যেমন Noto Sans Bengali) থাকলেই ঠিকঠাক।
- Navigation: বাঁ পাশের sidebar-ই মূল; খুঁজতে উপরের 🔍 search।
- নতুন note যোগ করলে
mkdocs serveচালু থাকলে site-এ সঙ্গে সঙ্গে চলে আসে।