Striven
3 days ago c538c151c7462ad0395ff2c15c5e11e89e362aa8
quartz/components/PageTitle.tsx
@@ -1,22 +1,24 @@
import { resolveToRoot } from "../path"
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { pathToRoot } from "../util/path"
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { classNames } from "../util/lang"
import { i18n } from "../i18n"
interface Options {
  title: string
const PageTitle: QuartzComponent = ({ fileData, cfg, displayClass }: QuartzComponentProps) => {
  const title = cfg?.pageTitle ?? i18n(cfg.locale).propertyDefaults.title
  const baseDir = pathToRoot(fileData.slug!)
  return (
    <h2 class={classNames(displayClass, "page-title")}>
      <a href={baseDir}>{title}</a>
    </h2>
  )
}
export default ((opts?: Options) => {
  const title = opts?.title ?? "Untitled Quartz"
  function PageTitle({ fileData }: QuartzComponentProps) {
    const slug = fileData.slug!
    const baseDir = resolveToRoot(slug)
    return <h1 class="page-title"><a href={baseDir}>{title}</a></h1>
  }
  PageTitle.css = `
  .page-title {
    margin: 0;
  }
  `
PageTitle.css = `
.page-title {
  font-size: 1.75rem;
  margin: 0;
  font-family: var(--titleFont);
}
`
  return PageTitle
}) satisfies QuartzComponentConstructor
export default (() => PageTitle) satisfies QuartzComponentConstructor