smalljs$molঅনুসন্ধান⌘ Kডকুমেন্টেশনপ্লেগ্রাউন্ডতুলনাইকোসিস্টেমসম্পর্কেBN
টুলিংGetting Startedপরিচিতিমানসিক মডেলশুরু করাTypeScript থেকে view.treeপ্রকল্পের কাঠামোটুলিংEssentialsইনস্টলেশনভিউস্টেট ও রিয়্যাক্টিভিটিরাউটিংরেন্ডারিংটেস্টিংডিপ্লয়সমস্যা সমাধানDataডেটা ফেচিংডেটা স্কিমাGiper BazaMoreশোকেসReact, Vue ও Svelte থেকেকুকবুকAdvancedপ্লাগইনমডিউল মেটাডেটাঅফলাইনগোস্ট ভিউAboutসাধারণ জিজ্ঞাসাটিমরিলিজAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

টুলিং

$mol যেকোনো এডিটরে কাজ করে, তবে একটি ছোট টুলসেট .view.tree এবং টাইপ করা স্টাইলকে অনেক বেশি আরামদায়ক করে তোলে: একটি প্রজেক্ট স্ক্যাফোল্ডার, একটি ল্যাঙ্গুয়েজ সার্ভার, Zed ও VS Code-এর জন্য এডিটর ইন্টিগ্রেশন, এবং একটি স্কিল যা LLM সহকারীদের এই ফ্রেমওয়ার্ক শেখায়।

একটি প্রজেক্ট স্ক্যাফোল্ড করা

create-view-tree-lsp একটি রেডি-টু-রান $mol মডিউল তৈরি করে, যাতে আপনাকে বয়লারপ্লেট হাতে জোড়া লাগাতে না হয়:1npx create-view-tree-lsp bog/myappনিজের MAM কপির রুট থেকে চালান: মডিউল পাথ ওখান থেকেই হিসাব হয়, প্রকল্পেরও ঠিকানা ওটাই। ওয়ার্কস্পেসের বাইরে হলে কমান্ড সতর্ক করে, প্রথম বিল্ডে গিয়ে টের পাওয়ার বদলে।আর্গুমেন্টটি হলো মডিউল পাথ (namespace/name, অথবা সমতুল্য bog_myapp)। এটি একটি কার্যকর অ্যাপের জন্য view.tree, view.ts, view.css.ts এবং index.html লেখে, সেই সঙ্গে এটি ডিপ্লয় করার GitHub Actions।জেনারেটর যা যা যোগ করতে জানে, সবই ডিফল্টে থাকে। আপনি শুধু সেটুকুর নাম বলেন যা চান না:1npx create-view-tree-lsp bog/myapp --no-tauri --no-backend--no-baza — একটি local-first স্টোর Giper Baza--no-dockerdocker-compose.yml ও nginx কনফিগসহ Docker সেটআপ--no-tauri — একটি Tauri ডেস্কটপ শেল--no-backendnode:sqlite স্টোরেজ এবং শেয়ার করা TypeScript আইটেম টাইপসহ $mol_server REST ব্যাকএন্ড--no-prerender, --no-seo — সার্চ-ইঞ্জিন দৃশ্যমানতা, যা নিচে ধারাবাহিক ইন্টিগ্রেশন-এ বর্ণিতঅচেনা ফ্ল্যাগ পেলে চলাটাই থেমে যায়, যাতে টাইপো চুপচাপ কিছু রেখে না দেয়।স্ক্যাফোল্ডারটি ল্যাঙ্গুয়েজ সার্ভারের CLI-এর ওপর একটি পাতলা র‍্যাপার, তাই npx view-tree-lsp create bog/myapp সরাসরি একই কাজ করে।

অনুবাদ

অনুবাদ থাকে নিজের মডিউলের পাশেই, <module>/<name>.locale=<lang>.json-এ। কোডের জন্য এটি সুবিধাজনক, অনুবাদকের জন্য নয়: বাক্যের একটি তালিকার বদলে তাঁর হাতে আসে ত্রিশটি ছোট ফাইল। $yuf_localizer ঠিক এই ফাঁকটাই ভরাট করে। প্রকল্পের ঠিকানা আর ভাষার কোড দিন, আর সে সব কী একটিমাত্র খোঁজযোগ্য তালিকায় দেখাবে — সঙ্গে চিহ্ন দেবে কোনগুলো এখনও বাকি: যেগুলো কেবল ইংরেজিতেই আছে, যেগুলো বদলেছেন কিন্তু সেভ করেননি, আর পুরোনো হয়ে যাওয়া যেগুলো প্রকল্পে আর নেই। অনুবাদ ব্রাউজারেই জমা থাকে যতক্ষণ না আপনি রপ্তানি করছেন, তাই দুই দফা কাজের মাঝে কিছু হারায় না।অনুবাদকের কাজ শেষ হলে ফলাফল রপ্তানি করে আবার মডিউল অনুযায়ী ভাগ করে নিন:1# MAM-এর রুট থেকে2npx view-tree-lsp locale bog/myapp/app/- --exclude=mol --updateআর্গুমেন্ট হিসেবে ফোল্ডার বা একটিমাত্র লোকেল ফাইল, দুটোই চলে। ফ্ল্যাগ:প্রতিটি কী নিজের মডিউলের পথ বহন করে, তাই $my_page_greeting গিয়ে বসে my/page/page.locale=ru.json-এ — ঠিক যে সোর্সের সঙ্গে তার সম্পর্ক, তার পাশেই। তবে সেই মডিউল বের করা দেখতে যতটা সহজ, তত নয়: _ ফোল্ডার আর শব্দ — দুটোই আলাদা করে, তাই "সবচেয়ে লম্বা মিলে যাওয়া পথ" ভুল উত্তর। $my_page_lang_hint-এ প্রপার্টির নাম শুরু হয় lang দিয়ে, আর পাশে সত্যিই my/page/lang সাবমডিউল থাকলে সে-ই কী-টি গিলে ফেলবে। তাই কমান্ডটি প্রতিটি সম্ভাব্য মডিউলকে জিজ্ঞাসা করে সে কোন কী ঘোষণা করেছে — MAM ঠিক সেগুলোই ওই মডিউলের -view.tree লোকেল ফাইলে লেখে — এবং কী-টি তার প্রকৃত মালিককে দেয়।

ধারাবাহিক ইন্টিগ্রেশন

স্ক্যাফোল্ডার GitHub Actions-কে .github/workflows/-এ লেখে, তাই একটি নতুন প্রজেক্ট বাড়তি সেটআপ ছাড়াই ডিপ্লয় ও রিলিজ হয়।deploy.yml প্রতিটি push-এ চলে। এটি hyoo-ru/mam_build দিয়ে অ্যাপ বিল্ড করে, main থেকে app/- GitHub Pages-এ প্রকাশ করে, এবং প্রতিটি feature/* ব্রাঞ্চকে নিজস্ব প্রিভিউ ফোল্ডার দেয় — ব্রাঞ্চ মুছে ফেলা হলে যা স্বয়ংক্রিয়ভাবে সরে যায়।

SEO

GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীপ্রকল্পের কাঠামোপরবর্তীইনস্টলেশন
এই পৃষ্ঠায়একটি প্রজেক্ট স্ক্যাফোল্ড করাঅনুবাদধারাবাহিক ইন্টিগ্রেশনSEOTauri ডেস্কটপল্যাঙ্গুয়েজ সার্ভারZedVS CodeLLM স্কিললিংক
Type to search the documentation.