| | |
| | | import { i18n } from "../i18n" |
| | | import { FullSlug, _stripSlashes, joinSegments, pathToRoot } from "../util/path" |
| | | import { FullSlug, joinSegments, pathToRoot } from "../util/path" |
| | | import { JSResourceToScriptElement } from "../util/resources" |
| | | import { QuartzComponentConstructor, QuartzComponentProps } from "./types" |
| | | import { googleFontHref } from "../util/theme" |
| | | import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" |
| | | |
| | | export default (() => { |
| | | function Head({ cfg, fileData, externalResources }: QuartzComponentProps) { |
| | | const title = fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title |
| | | const Head: QuartzComponent = ({ cfg, fileData, externalResources }: QuartzComponentProps) => { |
| | | const title = |
| | | (fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title) + cfg.pageTitleSuffix |
| | | const description = |
| | | fileData.description?.trim() ?? i18n(cfg.locale).propertyDefaults.description |
| | | const { css, js } = externalResources |
| | |
| | | <head> |
| | | <title>{title}</title> |
| | | <meta charSet="utf-8" /> |
| | | {cfg.theme.cdnCaching && cfg.theme.fontOrigin === "googleFonts" && ( |
| | | <> |
| | | <link rel="preconnect" href="https://fonts.googleapis.com" /> |
| | | <link rel="preconnect" href="https://fonts.gstatic.com" /> |
| | | <link rel="stylesheet" href={googleFontHref(cfg.theme)} /> |
| | | </> |
| | | )} |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| | | <meta property="og:title" content={title} /> |
| | | <meta property="og:description" content={description} /> |
| | |
| | | <link rel="icon" href={iconPath} /> |
| | | <meta name="description" content={description} /> |
| | | <meta name="generator" content="Quartz" /> |
| | | <link rel="preconnect" href="https://fonts.googleapis.com" /> |
| | | <link rel="preconnect" href="https://fonts.gstatic.com" /> |
| | | {css.map((href) => ( |
| | | <link key={href} href={href} rel="stylesheet" type="text/css" spa-preserve /> |
| | | ))} |