Look Scanned-এ, আমরা ভালো ডকুমেন্টেশন এবং আরও নিরাপদ ডেভেলপমেন্ট অনুশীলন প্রদান করতে আমাদের ইনফ্রাস্ট্রাকচার ক্রমাগত উন্নত করছি। আজ, আমরা আমাদের How-To ডকুমেন্টেশন সাইটের একটি উল্লেখযোগ্য আপগ্রেড সম্পর্কে বিস্তারিত শেয়ার করতে উত্সাহিত: একটি কাস্টম Vue + Vite অ্যাপ্লিকেশন থেকে VitePress-এ মাইগ্রেট করা, যখন একই সাথে npm Trusted Publishers দিয়ে আমাদের CI/CD নিরাপত্তা বৃদ্ধি করা।
📚 কেন আমরা VitePress-এ মাইগ্রেট করেছি
আমাদের How-To ডকুমেন্টেশন সাইট (github.com/lookscanned/how-to) Look Scanned-এর জন্য ব্যাপক ব্যবহার গাইড হিসাবে কাজ করে। যদিও আমাদের আগের Vue + Vite সেটআপ ভালো কাজ করেছিল, আমরা স্বীকার করেছি যে VitePress একটি কন্টেন্ট-চালিত ডকুমেন্টেশন সাইটের জন্য একটি ভালো পছন্দ হবে।
VitePress কী?
VitePress হল একটি স্ট্যাটিক সাইট জেনারেটর যা বিশেষভাবে ডকুমেন্টেশনের জন্য ডিজাইন করা হয়েছে। Vite এবং Vue 3-এর উপর নির্মিত, এটি উভয় বিশ্বের সেরা একত্রিত করে: বক্স থেকে শক্তিশালী ডকুমেন্টেশন বৈশিষ্ট্য সহ বিদ্যুৎ-দ্রুত ডেভেলপমেন্ট অভিজ্ঞতা।
মাইগ্রেশনের মূল সুবিধা
🎯 ডকুমেন্টেশনের জন্য ভালো আর্কিটেকচার
- ফাইল-ভিত্তিক রাউটিং: প্রতিটি markdown ফাইল স্বয়ংক্রিয়ভাবে একটি পৃষ্ঠা হয়ে যায়, কন্টেন্ট সংগঠনকে স্বজ্ঞাত করে তোলে
- বিল্ট-ইন ডকুমেন্টেশন বৈশিষ্ট্য: বিষয়বস্তুর সারণি, অনুসন্ধান, আন্তর্জাতিকীকরণ, এবং আরও অনেক কিছু পূর্ব-কনফিগার করা আসে
- স্ট্যাটিক সাইট জেনারেশন: পূর্ব-রেন্ডার করা HTML চমৎকার SEO এবং তাৎক্ষণিক পৃষ্ঠা লোড প্রদান করে
⚡ উন্নত ডেভেলপার অভিজ্ঞতা
- তাৎক্ষণিক হট রিলোড: ডেভেলপমেন্টের সময় পরিবর্তনগুলি অবিলম্বে প্রদর্শিত হয়
- Markdown প্রথম: কম্পোনেন্ট স্ক্যাফোল্ডিং নয়, কন্টেন্টে ফোকাস করুন
- Vue কম্পোনেন্ট সমর্থন: প্রয়োজনে, আমরা এখনও markdown-এর মধ্যে কাস্টম Vue কম্পোনেন্ট ব্যবহার করতে পারি
🔧 সহজ রক্ষণাবেক্ষণ
- পরিষ্কার কাঠামো: ডকুমেন্টেশন কনভেনশন অনুসরণ করে, অবদানকারীদের জন্য জ্ঞানীয় বোঝা হ্রাস করে
- আরও স্থিতিশীল বিল্ড: VitePress-এর মতামতপূর্ণ কাঠামো আরও পুনরুৎপাদনযোগ্য বিল্ডের দিকে নিয়ে যায়
- ভালো সহযোগিতা: দলের সদস্যরা গভীর Vue জ্ঞান ছাড়াই ডকুমেন্টেশনে অবদান রাখতে পারে
🔒 npm Trusted Publishers-এর সাথে উন্নত নিরাপত্তা
VitePress মাইগ্রেশনের পাশাপাশি, আমরা একটি গুরুত্বপূর্ণ নিরাপত্তা উন্নতি প্রয়োগ করেছি: OIDC প্রমাণীকরণ ব্যবহার করে npm Trusted Publishers।
ঐতিহ্যবাহী npm টোকেনের সমস্যা
আগে, npm-এ প্যাকেজ প্রকাশ করতে রিপোজিটরি সিক্রেটে দীর্ঘস্থায়ী NPM_TOKEN সংরক্ষণ করা প্রয়োজন ছিল। এই পদ্ধতির বেশ কয়েকটি অসুবিধা রয়েছে:
- নিরাপত্তা ঝুঁকি: টোকেন দুর্ঘটনাক্রমে প্রকাশ বা আপস হতে পারে
- ম্যানেজমেন্ট ওভারহেড: টোকেনের ম্যানুয়াল ঘূর্ণন এবং আপডেট প্রয়োজন
- অডিট চ্যালেঞ্জ: কে কখন কী প্রকাশ করেছে তা ট্র্যাক করা কঠিন
সমাধান: OIDC-ভিত্তিক বিশ্বস্ত প্রকাশনা
npm Trusted Publishers GitHub Actions থেকে সরাসরি নিরাপদ, টোকেন-মুক্ত প্রকাশনা সক্ষম করতে OpenID Connect (OIDC) ব্যবহার করে। এটি কীভাবে কাজ করে:
- কোনো সংরক্ষিত সিক্রেট নেই: টোকেন সংরক্ষণের পরিবর্তে, GitHub Actions npm থেকে স্বল্পস্থায়ী শংসাপত্র অনুরোধ করে
- পরিচয় যাচাইকরণ: npm যাচাই করে যে প্রকাশনার অনুরোধ অনুমোদিত GitHub রিপোজিটরি থেকে এসেছে
- স্বয়ংক্রিয় শংসাপত্র ব্যবস্থাপনা: শংসাপত্র স্বয়ংক্রিয়ভাবে জারি করা হয় এবং দ্রুত মেয়াদ শেষ হয়
বাস্তব বিশ্বের সুবিধা
এই পরিবর্তন আমাদের ডেভেলপমেন্ট ওয়ার্কফ্লোতে তাৎক্ষণিক উন্নতি নিয়ে আসে:
- ✅ আর টোকেন ম্যানেজমেন্ট নেই: npm টোকেন তৈরি, সংরক্ষণ বা ঘূর্ণন করার প্রয়োজন নেই
- ✅ হ্রাসকৃত আক্রমণ পৃষ্ঠ: স্বল্পস্থায়ী শংসাপত্র এক্সপোজার ঝুঁকি ন্যূনতম করে
- ✅ ভালো অডিটযোগ্যতা: প্রতিটি প্রকাশ ক্রিয়া একটি নির্দিষ্ট GitHub Actions চালনার সাথে সংযুক্ত
- ✅ আধুনিক সেরা অনুশীলন: শূন্য-বিশ্বাস নিরাপত্তা নীতিগুলির সাথে সারিবদ্ধ
প্রযুক্তিগত নোট: npm Trusted Publishers সমর্থন করতে, আমরা আমাদের CI কনফিগারেশন আপডেট করেছি Node.js lts/* ব্যবহার করতে, নিশ্চিত করে যে আমাদের কাছে OIDC প্রমাণীকরণের জন্য প্রয়োজনীয় সর্বশেষ npm সংস্করণ রয়েছে।
📦 রিলিজ টাইমলাইন
মাইগ্রেশন ১৯ ডিসেম্বর ২০২৫ তারিখে তিনটি রিলিজের মাধ্যমে সম্পন্ন হয়েছিল:
- v2.0.0: Vue + Vite থেকে VitePress-এ মূল মাইগ্রেশন (ব্রেকিং চেঞ্জ)
- v2.0.1: যথাযথ Node.js সংস্করণ সহ npm Trusted Publishers সমর্থন করতে CI ফিক্স
- v2.0.2:
@fontsource/noto-monodevDependencies-এ সরিয়ে পারফরম্যান্স উন্নতি
🌍 অব্যাহত বহুভাষিক সমর্থন
একটি গুরুত্বপূর্ণ নোট: আমাদের How-To ডকুমেন্টেশন বহুভাষিক PDF তৈরি করে যা সর্বদা মূল Look Scanned অ্যাপ্লিকেশনে উদাহরণ ফাইল হিসাবে ব্যবহৃত হয়েছে (lookscanned.io/en/scan-এ উপলব্ধ)। এই VitePress মাইগ্রেশন সেই কার্যকারিতা পরিবর্তন করে না—এটি কেবলমাত্র আমাদের ডকুমেন্টেশন ইনফ্রাস্ট্রাকচার বজায় রাখা এবং উন্নত করার জন্য একটি ভালো ভিত্তি প্রদান করে।
💡 ব্যবহারকারীদের জন্য এর অর্থ কী
আপনি যদি Look Scanned-এর ডকুমেন্টেশন ব্যবহার করেন:
- একই অ্যাক্সেস, ভালো অভিজ্ঞতা: ডকুমেন্টেশন উন্নত লোডিং এবং নেভিগেশন সহ একই URL-এ থাকে
- আরও নির্ভরযোগ্য: স্ট্যাটিক সাইট জেনারেশন মানে দ্রুত লোড এবং ভালো স্থিতিশীলতা
- ভালো অনুসন্ধান এবং আবিষ্কার: VitePress-এর বিল্ট-ইন অনুসন্ধান আপনাকে দ্রুত উত্তর খুঁজে পেতে সাহায্য করে
- অব্যাহত PDF সমর্থন: বহুভাষিক PDF জেনারেশন আগের মতো চলতে থাকে
🚀 পরবর্তী কী
ইনফ্রাস্ট্রাকচার আপগ্রেড সম্পূর্ণ হওয়ার সাথে, আমরা কন্টেন্ট উন্নতির উপর ফোকাস করছি:
- সম্প্রসারিত ব্যবহার কেস: আরও ব্যবহারিক উদাহরণ এবং ধাপে-ধাপে গাইড
- সঙ্গতি উন্নতি: স্পষ্টতার জন্য বহুভাষিক পরিভাষা পরিমার্জন
- উন্নত PDF এক্সপোর্ট: ক্রস-ব্রাউজার PDF জেনারেশন অভিজ্ঞতা উন্নত করা
আজই Look Scanned চেষ্টা করুন
Look Scanned ব্রাউজার-ভিত্তিক, গোপনীয়তা-প্রথম PDF স্ক্যানিং এফেক্ট প্রদান করে আপনার ফাইল কোথাও আপলোড না করে। উন্নত ডকুমেন্টেশন শুরু করা আগের চেয়ে সহজ করে তোলে।
👉 আপনার ব্রাউজারে দ্রুত, নিরাপদ ডকুমেন্ট স্ক্যানিং অভিজ্ঞতা পেতে lookscanned.io দেখুন।