Sayfalar

Her sayfanın birkaç bölümü vardır. Bunlar, düzen, içerik ve dil seçeneklerini içerir.

Düzen, içeriği saran HTML'dir. Başlık, alt bilgi ve tüm sayfalarda tutarlı olan diğer öğeleri içerir. Bu düzen, başka bir sayfada TypeScript fonksiyonu olarak tanımlanmıştır.

İçerik, her sayfaya özgü olan HTML'dir. Aşağıda gösterildiği gibi tanımlıyoruz. Çevirilere destek sağlamak için uygun yerlerde i18Next.t çağrılarını eklemeyi unutmayın.

Dil seçenekleri, sayfanın mevcut olduğu farklı dillerdir. Bunları başında tanımlarız. Rota ile bireysel sayfa işlevini bir araya bağlar. URL'lerin çevirisi onun içinde işlenir.

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