পাতা

প্রতিটি পৃষ্ঠায় কয়েকটি অংশ রয়েছে। সেগুলোর মধ্যে রয়েছে বিন্যাস, বিষয়বস্তু, এবং ভাষার বিকল্পগুলি।

লেআউট হল সেই HTML যা কনটেন্টকে ঘিরে রাখে। এতে হেডার, ফুটার, এবং যে কোনও অন্যান্য উপাদানগুলিও অন্তর্ভুক্ত থাকে যা সমস্ত পৃষ্ঠায় সঙ্গতিপূর্ণ। ওই লেআউটটি একটি আলাদা পৃষ্ঠায় TypeScript ফাংশন হিসেবে সংজ্ঞায়িত করা হয়েছে।

বিষয়বস্তু হল প্রতিটি পৃষ্ঠার জন্য অনন্য HTML। আমরা এটি নীচের মতো সংজ্ঞায়িত করি। অনুবাদের সমর্থনের জন্য যথোপযুক্তভাবে i18Next.t কলগুলি অন্তর্ভুক্ত করতে ভুলবেন না।

ভাষার বিকল্পগুলি হল বিভিন্ন ভাষা যা পৃষ্ঠাটি উপলব্ধ রয়েছে। আমরা সেগুলি শুরুতে সংজ্ঞায়িত করি। এটি রুট এবং পৃথক পৃষ্ঠা কার্যকারিতাকে একত্রিত করে। URLs এর অনুবাদ এই মধ্যে পরিচালিত হয়।

TypeScript - pages/ExamplePage.ts
import i18next from "../GlobalSitesCore/i18n";
import { Layout } from "../Layout";
import { RenderProps, renderLanguageFiles } from "../GlobalSitesCore/languages";
import { FileResult } from "../GlobalSitesCore/FileResult";

export async function ExamplePagePages(): Promise<FileResult[]> {
  return renderLanguageFiles({
    subDirectoryInEnglish: undefined,
    fileNameInEnglish: "example-page",
    includeInSitemap: true,
    render: (props) => ExamplePage(props),
  });
}

interface ExamplePageProps extends RenderProps {}

export function ExamplePage(props: ExamplePageProps): string {
  var title = i18next.t(`Example Page`);
  var metaDescription = i18next.t(`This is an example page.`);

  return Layout({
    lang: props.option.code,
    title: title,
    description: metaDescription,
    languageOptions: props.allOptions,
    content: /* HTML */ `
      <h1>${title}</h1>
      <p>${metaDescription}</p>
      <!-- Add more content as needed -->
    `,
  });
}