From cb68069d455cf513da4eefeab7868062085b4064 Mon Sep 17 00:00:00 2001
From: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 15 Aug 2024 08:24:48 +0000
Subject: [PATCH] chore(deps-dev): bump typescript from 5.5.3 to 5.5.4 (#1343)
---
quartz/components/Head.tsx | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/quartz/components/Head.tsx b/quartz/components/Head.tsx
index 0651b95..46ba5e0 100644
--- a/quartz/components/Head.tsx
+++ b/quartz/components/Head.tsx
@@ -1,21 +1,34 @@
-import { canonicalizeServer, pathToRoot } from "../path"
-import { JSResourceToScriptElement } from "../resources"
-import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
+import { i18n } from "../i18n"
+import { FullSlug, joinSegments, pathToRoot } from "../util/path"
+import { JSResourceToScriptElement } from "../util/resources"
+import { googleFontHref } from "../util/theme"
+import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
export default (() => {
- function Head({ cfg, fileData, externalResources }: QuartzComponentProps) {
- const slug = canonicalizeServer(fileData.slug!)
- const title = fileData.frontmatter?.title ?? "Untitled"
- const description = fileData.description?.trim() ?? "No description provided"
+ const Head: QuartzComponent = ({ cfg, fileData, externalResources }: QuartzComponentProps) => {
+ const title = fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title
+ const description =
+ fileData.description?.trim() ?? i18n(cfg.locale).propertyDefaults.description
const { css, js } = externalResources
- const baseDir = pathToRoot(slug)
- const iconPath = baseDir + "/static/icon.png"
+
+ const url = new URL(`https://${cfg.baseUrl ?? "example.com"}`)
+ const path = url.pathname as FullSlug
+ const baseDir = fileData.slug === "404" ? path : pathToRoot(fileData.slug!)
+
+ const iconPath = joinSegments(baseDir, "static/icon.png")
const ogImagePath = `https://${cfg.baseUrl}/static/og-image.png`
return (
<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} />
@@ -25,8 +38,6 @@
<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 />
))}
--
Gitblit v1.10.0