78 lines
1.8 KiB
TypeScript
78 lines
1.8 KiB
TypeScript
import { md } from '../../filters.ts';
|
|
import Head from '../Head.tsx';
|
|
import Background from '../Background.tsx';
|
|
import Homelink from '../Homelink.tsx';
|
|
import HakkenDates from '../HakkenDates.tsx';
|
|
|
|
export default ({
|
|
title,
|
|
content,
|
|
|
|
theme,
|
|
extraStylesheets,
|
|
extraScripts,
|
|
cacheBust,
|
|
|
|
showHakkenDates,
|
|
}) => <>
|
|
<html>
|
|
<Head
|
|
title={title}
|
|
theme={theme}
|
|
extraStylesheets={extraStylesheets}
|
|
cacheBust={cacheBust}
|
|
extraScripts={[...(extraScripts || []), '/scripts/copy-code.js']}
|
|
/>
|
|
<body className="ps-main">
|
|
|
|
<Background />
|
|
|
|
<Homelink />
|
|
|
|
<main className="ps-main--page ps-page">
|
|
<section
|
|
lang="en"
|
|
id="en"
|
|
className="ps-page--section"
|
|
>
|
|
<a
|
|
className="ps-page--section-link"
|
|
href="#de"
|
|
>
|
|
Deutsche übersetzung unten
|
|
<span className="ps-page--section-link-icon">▼</span>
|
|
</a>
|
|
|
|
<div
|
|
dangerouslySetInnerHTML={{ __html: md(content.en) }}
|
|
className="ps-page--section-contents"
|
|
></div>
|
|
|
|
{showHakkenDates ? <HakkenDates lang="en" className="ps-page--section-contents" /> : null}
|
|
</section>
|
|
|
|
<section
|
|
lang="de"
|
|
id="de"
|
|
className="ps-page--section"
|
|
>
|
|
<a
|
|
className="ps-page--section-link"
|
|
href="#en"
|
|
>
|
|
English translation above
|
|
<span className="ps-page--section-link-icon">▲</span>
|
|
</a>
|
|
|
|
<div
|
|
dangerouslySetInnerHTML={{ __html: md(content.de) }}
|
|
className="ps-page--section-contents"
|
|
></div>
|
|
|
|
{showHakkenDates ? <HakkenDates lang="de" className="ps-page--section-contents" /> : null}
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
</>;
|