Strony

Każda strona składa się z kilku części. Należą do nich układ, treść oraz opcje językowe.

Układ to HTML, który otacza zawartość. Zawiera nagłówek, stopkę oraz inne elementy, które są stałe na wszystkich stronach. Ten układ jest zdefiniowany na innej stronie jako funkcja TypeScript.

Treść to HTML, który jest unikalny dla każdej strony. Definiujemy to, jak pokazano poniżej. Upewnij się, że dołączyłeś wywołania do i18Next.t w odpowiednich miejscach, aby wspierać tłumaczenia.

Opcje językowe to różne języki, w których strona jest dostępna. Definiujemy je na początku. To łączy trasę i funkcję poszczególnej strony. Tłumaczenie adresów URL jest obsługiwane w tym kontekście.

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