নেভিগেশন: উৎপন্ন ফাইল কীভাবে কাজ করে
প্রতিটি লোকেলের জন্য, চারটি নেভিগেশন উপাদান সেই লোকেলের বিষয় থেকে উৎপন্ন হয়, হাতে লেখা হয় না (সাথে README.md, যা রেফারেন্স লোকেল en-gb-oxendict-এর জন্য একবার উৎপন্ন হয়):
README.md(সংগ্রহস্থলের হোম পাতার সূচিপত্র; শুধু রেফারেন্স লোকেল)locales/<locale>/index.md(প্রকাশিত সাইটের হোম পাতা)locales/<locale>/front-matter/table-of-contents.mdlocales/<locale>/topics/09-07-index.md(লিঙ্কসহ বিষয়ভিত্তিক সূচি)
এগুলো তৈরি করে tools/gen_nav.py।
এগুলো হাতে সম্পাদনা করবেন না, কারণ পরবর্তী উৎপাদন আপনার পরিবর্তন মুছে দেবে।
কখন পুনরায় উৎপন্ন করবেন
যখনই আপনি নিচের কাজগুলো করেন তখন just nav (বা python3 tools/gen_nav.py) চালান:
- কোনো বিষয় যোগ, অপসারণ, পুনঃনামকরণ বা পুনঃক্রমাঙ্কন, অথবা
- কোনো বিষয়ের
# N.M Titleশিরোনাম বদলানো (সূচিপত্র এটি ব্যবহার করে)।
locales/en-gb-oxendict/-এর অধীনে কিছু বদলালে আগে python3 tools/localize.py চালান, যাতে gen_nav.py পড়ার আগে
অন্য তিন লোকেলের বিষয় (এবং তাদের উৎপন্ন শিরোনাম) হালনাগাদ থাকে; দেখুন spec/locales.md।
এটি কীভাবে কাজ করে
প্রতিটি লোকেলের জন্য gen_nav.py প্রতিটি locales/<locale>/topics/*.md ফাইল পড়ে, দশমিক সংখ্যা অনুযায়ী সাজায়,
পর্ব অনুযায়ী গোষ্ঠীবদ্ধ করে এবং:
- প্রতিটি বিষয়ের H1 শিরোনাম থেকে পর্ব-ধরে-পর্ব সূচিপত্র তৈরি করে,
- এটি
locales/<locale>/index.mdওlocales/<locale>/front-matter/table-of-contents.md-এ (এবং, শুধু রেফারেন্স লোকেলের জন্য,README.md-এ) লেখে, - মূল বিষয়গুলো (পর্ব ১ থেকে ৮) মূল শব্দের একটি নির্দিষ্ট তালিকার জন্য স্ক্যান করে এবং
locales/<locale>/topics/09-07-index.md-এ বিষয়ভিত্তিক সূচি লেখে।
যৌথ বয়লারপ্লেট টেক্সট (ভূমিকা অনুচ্ছেদ, “এই বইটি কীভাবে পড়বেন”, “সর্বব্যাপী প্রসঙ্গ” এবং পর্বের শিরোনাম) বিষয়ের
গদ্যের মতোই tools/localize.py-এর লোকেল ফাংশনের মাধ্যমে স্থানীয়কৃত, তাই উৎপন্ন পাতাগুলো প্রতিটি লোকেলে
স্বাভাবিক শোনায়।
পর্বের শিরোনাম স্ক্রিপ্টের উপরের দিকের PART_TITLES অভিধানে থাকে। জেনারেটর কোলন-শৈলীর পর্ব শিরোনাম (“Part 2:
Delivery and Flow Metrics”) ব্যবহার করে, কখনো এম-ড্যাশ নয়।
হাতে-অনুবাদ করা লোকেলগুলোর হোম পাতা ও সূচিপত্র পাতা হাতে লেখা (অনুবাদিত শিরোনাম এবং প্রতিটি পর্বের N.0
পরিচিতি লাইন), এবং tools/gen_translated_nav.py সেই লোকেলের বিষয়ের H1 শিরোনাম থেকে বিষয় তালিকা হালনাগাদ করে।
এটি যা স্পর্শ করে না
সংগ্রহস্থলের মূলের স্পেসিফিকেশন (spec/index.md, spec/structure.md এবং তাদের সঙ্গীরা) হাতে লেখা সত্যের উৎস।
জেনারেটর এটি লেখে না, এবং এটি প্রকাশিত সাইটের অংশ নয়। আপনি কাঠামো বদলালে spec/structure.md নিজে হালনাগাদ
করুন, তারপর উৎপন্ন ফাইলের জন্য just nav এবং সবকিছু মিলছে কিনা নিশ্চিত করতে just test চালান।