Rspress 2.0 প্রকাশ: অভিজ্ঞতা এবং AI এর জন্য একটি নতুন আপগ্রেড
Rspress 2.0 প্রকাশ: অভিজ্ঞতা এবং AI এর জন্য একটি নতুন আপগ্রেড
আমরা আনন্দের সাথে ঘোষণা করছি Rspress 2.0 এর আনুষ্ঠানিক প্রকাশ!
Rspress হল Rsbuild এর ভিত্তিতে তৈরি একটি স্থির সাইট জেনারেটর, যা বিশেষভাবে ডেভেলপারদের জন্য তৈরি করা একটি ডকুমেন্টেশন টুল। 2023 সালে আনুষ্ঠানিকভাবে প্রকাশের পর থেকে, Rspress 1.x মোট 144 টি সংস্করণ প্রকাশ করেছে, এবং 125 জন অবদানকারী প্রকল্পের উন্নয়নে অংশগ্রহণ করেছেন।越来越多的开发者选择 Rspress,借助其高效的编译性能、约定式路由和组件库预览等功能,搭建美观可靠的文档站点。
সম্প্রদায়ের প্রতিক্রিয়া এবং পরামর্শের ভিত্তিতে, Rspress 2.0 থিমের সৌন্দর্য, AI-native, ডকুমেন্টেশন উন্নয়ন অভিজ্ঞতা, Rslib এর সাথে ব্যবহার ইত্যাদি ক্ষেত্রে আরও উন্নত হয়েছে।
কেন Rspress 2.0
Rspress 1.x ইতিমধ্যে ডকুমেন্টেশন সাইট ফ্রেমওয়ার্কের কম্পাইলিং পারফরম্যান্সের সমস্যা সমাধান করেছে, তবে এখনও কিছু সমস্যা রয়েছে যা একটি ডকুমেন্টেশন উন্নয়ন টুল হিসাবে মূল অভিজ্ঞতাকে প্রভাবিত করে। 2.0 সংস্করণটি কেবল কম্পাইলিং পারফরম্যান্সের অনুসরণে সীমাবদ্ধ নয়, বরং ডকুমেন্টেশন সাইটের অভিজ্ঞতার অন্যান্য দিকগুলিতেও ফোকাস করে:
- থিমের স্টাইল: একটি আরও সুন্দর ডিফল্ট থিম এবং বিভিন্ন কাস্টম থিমের উপায় প্রদান করে, যা 1.x এর থিম কাস্টমাইজেশনের ক্ষেত্রে স্থিতিশীল API এর অভাবের সমস্যা সমাধান করে।
- AI-native: ডকুমেন্টগুলি কেবল মানব পাঠকদের জন্য নয়, বরং এজেন্টদের দ্বারা আরও ভালভাবে বোঝা এবং ব্যবহার করা প্রয়োজন। Rspress এখন llms.txt জেনারেশন এবং SSG থেকে উদ্ভূত SSG-MD ফিচার অন্তর্ভুক্ত করেছে, এজেন্টের পড়ার জন্য উচ্চ মানের Markdown রেন্ডার কন্টেন্ট তৈরি করে।
- প্রয়োজন অনুযায়ী কম্পাইল, মুহূর্তে শুরু: ডিফল্টভাবে lazyCompilation সক্রিয় করা হয়েছে, লিঙ্ক hover এর সময় সম্পদের preload ফিচারের সাথে মিলিয়ে, শুধুমাত্র নির্দিষ্ট রুটে প্রবেশের সময় প্রয়োজনীয় ফাইল তৈরি করে, প্রকল্পের আকার যাই হোক না কেন, dev মুহূর্তে শুরু করতে পারে।
- Shiki কোড হাইলাইট: ডিফল্টভাবে Shiki অন্তর্ভুক্ত করা হয়েছে, নির্মাণের সময় সিনট্যাক্স হাইলাইট সম্পন্ন করে, থিম পরিবর্তন, ট্রান্সফরমার এক্সটেনশনের সমর্থন করে, যেমন @rspress/plugin-twoslash, আরও সমৃদ্ধ কোড ব্লক প্রদর্শন প্রভাব নিয়ে আসে।
- ডকুমেন্টেশন উন্নয়ন অভিজ্ঞতা: nav.json, meta.json ইত্যাদির HMR অপ্টিমাইজ করা হয়েছে এবং IDE এর মধ্যে কোড পরামর্শের জন্য নতুন json schema যুক্ত করা হয়েছে; ডিফল্টভাবে মৃত লিঙ্ক পরীক্ষা ফিচার সক্রিয় করা হয়েছে; নতুন ফাইল কোড ব্লক সিনট্যাক্স যুক্ত করা হয়েছে, বাইরের ফাইলের রেফারেন্স সমর্থন করে; @rspress/plugin-preview এবং @rspress/plugin-playground একসাথে ব্যবহারের সমর্থন করে ইত্যাদি।
- Rslib ইন্টিগ্রেশন: এখন create-rslib ব্যবহার করে কম্পোনেন্ট লাইব্রেরি প্রকল্প তৈরি করার সময়, Rspress কে ডকুমেন্টেশন টুল হিসাবে নির্বাচন করা যায়, দ্রুত কম্পোনেন্ট ডকুমেন্টেশন সাইট তৈরি করার জন্য।
2.0 নতুন বৈশিষ্ট্য
সম্পূর্ণ নতুন থিম
2.0 ডিফল্ট থিম একটি সিস্টেম্যাটিক আপগ্রেড পেয়েছে, এটি দলের ডিজাইনার @Zovn Wei দ্বারা সম্পূর্ণ ডিজাইন করা হয়েছে, ভিজ্যুয়াল ইফেক্ট এবং পড়ার অভিজ্ঞতায় উল্লেখযোগ্য উন্নতি হয়েছে, এবং প্রতিটি উপাদান স্বাধীনভাবে প্রতিস্থাপনযোগ্য, যার উচ্চ কাস্টমাইজেবিলিটি রয়েছে।
থিম কাস্টমাইজেশন
কাস্টমাইজেশনের স্তরের উপর ভিত্তি করে নিম্ন থেকে উচ্চ পর্যন্ত, চারটি কাস্টম থিমের উপায় রয়েছে: CSS ভেরিয়েবল, BEM ক্লাস নাম, ESM পুনঃরপ্তানি ওভাররাইড, কম্পোনেন্ট ইজেক্ট।- CSS ভেরিয়েবল:নতুন থিম আরও CSS ভেরিয়েবল প্রকাশ করেছে, যা থিমের রঙ, কোড ব্লক, হোমপেজ ইত্যাদির স্টাইল কভার করে। আপনি CSS ভেরিয়েবল পৃষ্ঠায় ইন্টারেক্টিভভাবে সমস্ত CSS ভেরিয়েবল প্রিভিউ এবং সমন্বয় করতে পারেন, সন্তোষজনক কনফিগারেশন পাওয়ার পর সরাসরি প্রকল্পে ব্যবহার করার জন্য কপি করতে পারেন।
- BEM ক্লাস নাম:অভ্যন্তরীণ উপাদানগুলি এখন BEM নামকরণ নিয়ম অনুসরণ করে। এটি একটি খুব পুরানো স্কুলের পছন্দ, তবে এটি আমাদের গভীর চিন্তার সিদ্ধান্তও। ব্যবহারকারীরা CSS সিলেক্টর দ্বারা সঠিকভাবে স্টাইল সমন্বয় করতে পারেন, HTML কাঠামো আরও পরিষ্কার।
- ESM পুনঃরপ্তানি কভারেজ:যদি CSS-এ পরিবর্তনগুলি কাস্টমাইজেশন প্রয়োজনীয়তা পূরণ না করে, তবে JS এর মাধ্যমে আরও গভীর কাস্টমাইজেশন করা যেতে পারে। theme/index.tsx-এ ESM পুনঃরপ্তানির মাধ্যমে, আপনি Rspress-এর যে কোনও অভ্যন্তরীণ উপাদানকে কভার করতে পারেন।
- উপাদান ইজেক্ট:আপনি নতুন rspress eject [component] কমান্ড ব্যবহার করতে পারেন, এই কমান্ডটি নির্দিষ্ট উপাদানের সোর্স কোডটি theme/components/ ডিরেক্টরিতে কপি করবে, আপনি এই কোডগুলি স্বাধীনভাবে পরিবর্তন করতে পারেন, এমনকি AI-কে পরিবর্তন করতে দিতে পারেন, গভীর কাস্টমাইজেশন অর্জনের জন্য।
নেভিগেশন বার, সাইডবার ট্যাগ
Rspress 2.0 ট্যাগ উপাদান বাস্তবায়ন করেছে, এখন আপনি frontmatter-এ ট্যাগ বৈশিষ্ট্য ব্যবহার করে সাইডবার বা নেভিগেশন বারে UI চিহ্নিত করতে পারেন।
অন্তর্নির্মিত বহু ভাষার সমর্থন
1.x সংস্করণে, Rspress শুধুমাত্র ইংরেজি টেক্সট অন্তর্ভুক্ত করেছে, যদি অন্যান্য ভাষা যেমন zh ব্যবহার করা হয়, তবে সমস্ত টেক্সট কনফিগার করতে হবে, ব্যবহার করা তুলনামূলকভাবে জটিল। এখন 2.0 থিমে zh, en, ja, ko, ru ইত্যাদির বিভিন্ন ভাষার অনুবাদ টেক্সট অন্তর্ভুক্ত রয়েছে, সিস্টেম ভাষার কনফিগারেশন অনুযায়ী স্বয়ংক্রিয়ভাবে "Tree Shaking" করবে, শুধুমাত্র আপনি যে টেক্সট এবং ভাষা ব্যবহার করছেন তা প্যাকেজ করবে।
llms.txt সমর্থন
Rspress এখন llms.txt উৎপাদন ক্ষমতা কোরে সংহত করেছে এবং একটি নতুন SSG-MD (স্ট্যাটিক সাইট জেনারেশন টু মার্কডাউন, স্ট্যাটিক সাইট মার্কডাউন উৎপাদন) ক্ষমতা বাস্তবায়ন করেছে।
React ভিত্তিক ডাইনামিক রেন্ডারিং ফ্রেমওয়ার্কে, প্রায়ই স্থির তথ্য বের করা কঠিন হয়, Rspress একই চ্যালেঞ্জের সম্মুখীন। Rspress ব্যবহারকারীদের MDX স্নিপেট, React উপাদান, হুক এবং TSX রাউটিং সহ ডাইনামিক বৈশিষ্ট্যগুলি ব্যবহার করে ডকুমেন্টের প্রকাশ্যতা বাড়ানোর অনুমতি দেয়। তবে এই ডাইনামিক বিষয়বস্তু মার্কডাউন টেক্সটে রূপান্তর করার সময় নিম্নলিখিত সমস্যার সম্মুখীন হয়:
- AI-কে সরাসরি MDX ইনপুট দেওয়া হলে প্রচুর কোড সিনট্যাক্স শব্দদূষণ অন্তর্ভুক্ত হবে এবং React উপাদানের বিষয়বস্তু হারিয়ে যাবে
- HTML-কে মার্কডাউনে রূপান্তর করা প্রায়ই সন্তোষজনক ফলাফল দেয় না, তথ্যের গুণমান নিশ্চিত করা কঠিন
এই সমস্যার সমাধানের জন্য, Rspress 2.0 SSG-MD বৈশিষ্ট্যটি পরিচয় করিয়ে দিয়েছে। এটি একটি নতুন ফিচার, এটি স্ট্যাটিক সাইট জেনারেশনের (SSG) মতো, তবে পার্থক্য হল এটি আপনার পৃষ্ঠাগুলিকে HTML ফাইলের পরিবর্তে মার্কডাউন ফাইল হিসাবে রেন্ডার করে এবং llms.txt এবং llms-full.txt সম্পর্কিত ফাইল তৈরি করে।

Shiki কম্পাইলার সময় কোড ব্লক হাইলাইটRspress 2.0 ডিফল্টভাবে কোড হাইলাইট করার জন্য Shiki ব্যবহার করে। 1.x এর prism রানটাইম হাইলাইট স্কিমার তুলনায়, Shiki কম্পাইলেশনের সময় হাইলাইট প্রক্রিয়া সম্পন্ন করে।
- বিভিন্ন থিম শৈলী সমর্থন করে, যেমন CSS ভেরিয়েবল পৃষ্ঠায় আপনি ইন্টারেক্টিভভাবে বিভিন্ন Shiki থিম পরিবর্তন এবং প্রিভিউ করতে পারেন।
- একই সাথে Shiki কাস্টম ট্রান্সফর্মার ব্যবহার করে লেখাকে সমৃদ্ধ করার জন্য এক্সটেনশন করার অনুমতি দেয়, যেমন twoslash ইত্যাদি।
- প্রয়োজন অনুযায়ী প্রোগ্রামিং ভাষা অন্তর্ভুক্ত করুন, রানটাইম খরচ এবং প্যাকেজ আকার বাড়ায় না।
- TextMate সিনট্যাক্সের ভিত্তিতে VS Code এর সাথে সঙ্গতিপূর্ণ সঠিক সিনট্যাক্স হাইলাইটিং বাস্তবায়ন করে।
### নির্মাণ কর্মক্ষমতা উন্নতি
Rspress 2.0 এর নীচে Rsbuild এবং Rspack 2.0 প্রিভিউ সংস্করণ দ্বারা চালিত, একই সাথে ডিফল্টভাবে প্রয়োজন অনুযায়ী কম্পাইলেশন এবং স্থায়ী ক্যাশে চালু করা হয়েছে।
#### প্রয়োজন অনুযায়ী কম্পাইলেশন
ডিফল্টভাবে dev.lazyCompilation চালু থাকে, শুধুমাত্র যখন আপনি একটি নির্দিষ্ট পৃষ্ঠায় প্রবেশ করেন, তখন সেই পৃষ্ঠা কম্পাইল হবে, যা উন্নয়ন শুরু করার গতি উল্লেখযোগ্যভাবে বাড়িয়ে দেয়, এমনকি মিলিসেকেন্ড স্তরের ঠান্ডা শুরু অর্জন করে। Rspress একই সাথে রাউটের প্রিলোড কৌশল বাস্তবায়ন করেছে, যখন লিঙ্কের উপর মাউস হোভার করা হয় তখন লক্ষ্য রাউট পৃষ্ঠা পূর্বে লোড হবে, lazyCompilation এর সাথে মিলিয়ে একটি ক্ষতি-রহিত উন্নয়ন অভিজ্ঞতা অর্জন করে।

#### স্থায়ী ক্যাশে
2.0 একই সাথে ডিফল্টভাবে স্থায়ী ক্যাশে চালু করেছে, গরম শুরুতে পূর্ববর্তী কম্পাইলের ফলাফল পুনরায় ব্যবহার করে, নির্মাণের গতি 30%-60% বৃদ্ধি করে। এর মানে হল প্রথমবার rspress dev বা rspress build চালানোর পরে, পরবর্তী শুরু করার গতি উল্লেখযোগ্যভাবে বৃদ্ধি পাবে।
### ডকুমেন্ট উন্নয়ন অভিজ্ঞতা
#### ডিফল্টভাবে মৃত লিঙ্ক পরীক্ষা চালু
Rspress 2.0 ডিফল্টভাবে মৃত লিঙ্ক পরীক্ষা ফিচার চালু করে। নির্মাণ প্রক্রিয়ার সময়, এটি স্বয়ংক্রিয়ভাবে ডকুমেন্টে অকার্যকর লিঙ্কগুলি সনাক্ত করে, আপনাকে সময়মতো সেগুলি খুঁজে বের করতে এবং মেরামত করতে সহায়তা করে।

#### ফাইল কোড ব্লক
আপনি file="./path/to/file" অ্যাট্রিবিউট ব্যবহার করে বাইরের ফাইলকে কোড ব্লকের বিষয়বস্তু হিসাবে উল্লেখ করতে পারেন, উদাহরণ কোড আলাদা ফাইলে রক্ষণাবেক্ষণ করতে পারেন।
#### preview আরও নমনীয় meta ব্যবহার
@rspress/plugin-preview এখন meta অ্যাট্রিবিউটের ভিত্তিতে ব্যবহার করা হয়, আরও নমনীয়, এবং ফাইল কোড ব্লকের সাথে মিলিয়ে ব্যবহার করা যেতে পারে।

### Rslib & Rspress
create-rslib ব্যবহার করে প্রকল্প তৈরি করার সময়, আপনি এখন Rspress টুলটি নির্বাচন করতে পারেন। এটি আপনাকে কম্পোনেন্ট লাইব্রেরি উন্নয়ন করার সময় দ্রুত সমর্থনকারী ডকুমেন্টেশন সাইট তৈরি করতে সক্ষম করে, যা কম্পোনেন্ট ব্যবহারের নির্দেশিকা লেখার জন্য, API রেফারেন্স প্রদর্শনের জন্য, বা কম্পোনেন্টের প্রভাবের লাইভ প্রিভিউ করার জন্য।
### আরও Rspress অফিসিয়াল প্লাগইন
Rspress 2.0 একাধিক অফিসিয়াল প্লাগইন যুক্ত করেছে:
- @rspress/plugin-algolia: Rspress এর অন্তর্নির্মিত অনুসন্ধানকে Algolia DocSearch দ্বারা প্রতিস্থাপন করতে সমর্থন করে
- @rspress/plugin-twoslash: TypeScript কোড ব্লকে টাইপ টিপস যোগ করে
- @rspress/plugin-llms: SSG এবং SSG-MD সমর্থন না করা প্রকল্পগুলির জন্য llms.txt তৈরি করার ক্ষমতা প্রদান করে
- @rspress/plugin-sitemap: SEO অপ্টিমাইজেশনের জন্য স্বয়ংক্রিয়ভাবে Sitemap ফাইল তৈরি করে
## ভাঙা পরিবর্তন
### Rspress 1.x এ স্থানান্তর
যদি আপনি 1.x প্রকল্পের ব্যবহারকারী হন, আমরা আপনাকে 1.x থেকে 2.0 এ আপগ্রেড করতে সহায়তা করার জন্য একটি বিস্তারিত স্থানান্তর ডকুমেন্ট প্রস্তুত করেছি। আপনি সরাসরি পৃষ্ঠায় "Markdown কপি করুন" ফিচারটি ব্যবহার করতে পারেন, এটি আপনার সাধারণ কোডিং এজেন্ট (যেমন Claude Code ইত্যাদি) এ ইনপুট করতে স্থানান্তর সম্পন্ন করতে।### Node.js 与上游依赖版本要求
Rspress 2.0 要求 Node.js 版本 20+,React 版本 18+。
下一步
Rspress 2.0 的发布只是一个新的起点。本次发布后,Rspress 将持续迭代:
- 推进生态集成:与 Rslib、Rstest 更深度地结合,提供前端项目和组件库项目的一体化开发体验。
- 探索 AI 与文档更深度集成:如智能问答、自动摘要等;完善 SSG-MD 使其稳定并更加易用。
npm create rspress@latest

