24 lines
		
	
	
		
			685 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			685 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { 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!)
 | 
						|
  return (
 | 
						|
    <h2 class={classNames(displayClass, "page-title")}>
 | 
						|
      <a href={baseDir}>{title}</a>
 | 
						|
    </h2>
 | 
						|
  )
 | 
						|
}
 | 
						|
 | 
						|
PageTitle.css = `
 | 
						|
.page-title {
 | 
						|
  font-size: 1.75rem;
 | 
						|
  margin: 0;
 | 
						|
}
 | 
						|
`
 | 
						|
 | 
						|
export default (() => PageTitle) satisfies QuartzComponentConstructor
 |