--- import type { MarkdownHeading } from "astro"; import type { CollectionEntry } from "astro:content"; import { DEFAULT_LANGUAGE, SITE_METADATA } from "@root/constants"; import BaseHead from "@components/BaseHead.astro"; import BaseLayout from "@components/BaseLayout.astro"; import ArticleContent from "@components/ArticleContent.astro"; import ArticlePost from "@components/ArticlePost.astro"; import OpenGraph from "@components/OpenGraph.astro"; import TableOfContents from "@root/components/TableOfContents.astro"; import type { ArticleTranslation } from "@/directus-schema"; import * as utils from "@utils/article"; export interface Props { lang?: string | undefined; article: ArticleTranslation; availableOnLangs?: CollectionEntry<"blog">[]; headings: MarkdownHeading[]; } const canonicalUrl = new URL(Astro.url.pathname, Astro.site); const { lang = DEFAULT_LANGUAGE, article, availableOnLangs } = Astro.props as Props; const { title, description, cover_image, content } = article; const htmlContent = await utils.markdownToHTML(content); ---