24 lines
562 B
TypeScript
24 lines
562 B
TypeScript
export interface Meta {
|
|
title: string;
|
|
description?: string | undefined;
|
|
openGraph?: OpenGraph;
|
|
alternates?: Alternates;
|
|
}
|
|
export interface OpenGraph {
|
|
title?: string;
|
|
description?: string | undefined;
|
|
type: string;
|
|
url: string;
|
|
}
|
|
export interface Alternates {
|
|
canonical: string;
|
|
types: { [mime: string]: AlternateType };
|
|
}
|
|
export interface AlternateType {
|
|
url: string;
|
|
title: string;
|
|
}
|
|
export function renderMeta({ title }: Meta): string {
|
|
return `<title>${esc(title)}</title>`;
|
|
}
|
|
import { escapeHtml as esc } from "../engine/ssr.ts";
|