पृष्ठ

प्रत्येक पृष्ठ में कुछ भाग होते हैं। इनमें लेआउट, सामग्री और भाषा विकल्प शामिल हैं।

लेआउट वह HTML है जो सामग्री को लपेटता है। इसमें हेडर, फ़ुटर, और कोई अन्य तत्व शामिल होते हैं जो सभी पृष्ठों में समान होते हैं। वह लेआउट किसी अन्य पृष्ठ में एक TypeScript फ़ंक्शन के रूप में परिभाषित किया गया है।

सामग्री वह HTML है जो प्रत्येक पृष्ठ के लिए अनन्य है। हम इसे नीचे दिखाए अनुसार परिभाषित करते हैं। अनुवादों का समर्थन करने के लिए i18Next.t को उचित रूप से शामिल करना सुनिश्चित करें।

भाषा के विकल्प वे विभिन्न भाषाएँ हैं जिनमें यह पृष्ठ उपलब्ध है। हम इन्हें शुरुआत में परिभाषित करते हैं। यह मार्ग और व्यक्तिगत पृष्ठ कार्य को एक साथ जोड़ता है। URL का अनुवाद इसमें संभाला जाता है।

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 -->
    `,
  });
}