docs/quartz/components/PageTitle.tsx

28 lines
857 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")}>
<a href={baseDir}>
<img src={iconPath} alt="Zen Browser Logo" width="70px" />
<br />
{title}
</a>
</h2>
)
}
PageTitle.css = `
.page-title {
font-size: 1.75rem;
margin: 0;
}
`
export default (() => PageTitle) satisfies QuartzComponentConstructor