docs/quartz/components/PageTitle.tsx
2024-08-19 00:16:22 -06:00

26 lines
836 B
TypeScript

import { joinSegments, pathToRoot } from "../util/path"
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { classNames } from "../util/lang"
import { i18n } from "../i18n"
const PageTitle: QuartzComponent = ({ fileData, cfg, displayClass }: QuartzComponentProps) => {
const title = cfg?.pageTitle ?? i18n(cfg.locale).propertyDefaults.title
const baseDir = pathToRoot(fileData.slug!)
const iconPath = joinSegments(baseDir, "static/icon.png")
return (
<h2 class={classNames(displayClass, "page-title")}>
<img src={iconPath} alt="Zen Browser Logo" width="70px" />
<br/>
<a href={baseDir}>{title}</a>
</h2>
)
}
PageTitle.css = `
.page-title {
font-size: 1.75rem;
margin: 0;
}
`
export default (() => PageTitle) satisfies QuartzComponentConstructor