Skip to content

Commit

Permalink
refactor: format
Browse files Browse the repository at this point in the history
  • Loading branch information
Mara-Li committed Feb 25, 2024
1 parent 518932d commit 1b58c87
Showing 1 changed file with 50 additions and 50 deletions.
100 changes: 50 additions & 50 deletions quartz/components/Head.tsx
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
import { i18n } from "../i18n"
import { FullSlug, joinSegments, pathToRoot, sluggify } from "../util/path"
import { JSResourceToScriptElement } from "../util/resources"
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { i18n } from "../i18n";
import { FullSlug, joinSegments, pathToRoot, sluggify } from "../util/path";
import { JSResourceToScriptElement } from "../util/resources";
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types";

export default (() => {
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 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 url = new URL(`https://${cfg.baseUrl ?? "example.com"}`)
const path = url.pathname as FullSlug
const baseDir = fileData.slug === "404" ? path : pathToRoot(fileData.slug!)
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")
let ogImagePath = `https://${cfg.baseUrl}/static/og-image.png`
if (cfg.ogImageDir) {
const contentDir = `https://${cfg.baseUrl}/${cfg.ogImageDir}/`
ogImagePath = fileData?.frontmatter?.image
? sluggify(`${contentDir}${(fileData.frontmatter.image as string).trim()}`)
: `https://${cfg.baseUrl}/static/og-image.png`
}
return (
<head>
<title>{title}</title>
<meta charSet="utf-8" />
{cfg.theme.cdnCaching && (
<>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</>
)}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
{cfg.baseUrl && <meta property="og:image" content={ogImagePath} />}
<meta property="og:width" content="1200" />
<meta property="og:height" content="675" />
<link rel="icon" href={iconPath} />
<meta name="description" content={description} />
<meta name="generator" content="Quartz" />
{css.map((href) => (
<link key={href} href={href} rel="stylesheet" type="text/css" spa-preserve />
))}
{js
.filter((resource) => resource.loadTime === "beforeDOMReady")
.map((res) => JSResourceToScriptElement(res, true))}
</head>
)
}
const iconPath = joinSegments(baseDir, "static/icon.png");
let ogImagePath = `https://${cfg.baseUrl}/static/og-image.png`;
if (cfg.ogImageDir) {
const contentDir = `https://${cfg.baseUrl}/${cfg.ogImageDir}/`;
ogImagePath = fileData?.frontmatter?.image
? sluggify(`${contentDir}${(fileData.frontmatter.image as string).trim()}`)
: `https://${cfg.baseUrl}/static/og-image.png`;
}
return (
<head>
<title>{title}</title>
<meta charSet="utf-8" />
{cfg.theme.cdnCaching && (
<>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</>
)}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
{cfg.baseUrl && <meta property="og:image" content={ogImagePath} />}
<meta property="og:width" content="1200" />
<meta property="og:height" content="675" />
<link rel="icon" href={iconPath} />
<meta name="description" content={description} />
<meta name="generator" content="Quartz" />
{css.map((href) => (
<link key={href} href={href} rel="stylesheet" type="text/css" spa-preserve />
))}
{js
.filter((resource) => resource.loadTime === "beforeDOMReady")
.map((res) => JSResourceToScriptElement(res, true))}
</head>
);
};

return Head
}) satisfies QuartzComponentConstructor
return Head;
}) satisfies QuartzComponentConstructor;

0 comments on commit 1b58c87

Please sign in to comment.