页面

每个页面都有几个部分。这些部分包括布局、内容和语言选项。

布局是包裹内容的HTML。它包括页眉、页脚和所有其他在所有页面中一致的元素。该布局在另一个页面中作为TypeScript函数定义。

内容是每个页面独特的 HTML。我们按如下所示定义它。确保恰当地调用 i18Next.t 以支持翻译。

语言选项是该页面可用的不同语言。我们在开始时定义这些选项。它将路由和单个页面功能连接在一起。网址的翻译在其中进行处理。

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