---
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);
---