Σελίδες

Υπάρχουν μερικά μέρη σε κάθε σελίδα. Αυτά περιλαμβάνουν τη διάταξη, το περιεχόμενο και τις επιλογές γλώσσας.

Η διάταξη είναι το 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 -->
    `,
  });
}