Update Head.tsx

This commit is contained in:
enneaa 2025-03-13 04:13:15 +08:00 committed by GitHub
parent 8108c72a9d
commit 7428905926
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,7 +2,7 @@ import { i18n } from "../i18n"
import { FullSlug, joinSegments, pathToRoot } from "../util/path"
import { CSSResourceToStyleElement, JSResourceToScriptElement } from "../util/resources"
import { getFontSpecificationName, googleFontHref } from "../util/theme" 
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" 
import satori, { SatoriOptions } from "satori"
import { loadEmoji, getIconCode } from "../util/emoji"
import fs from "fs"
@ -15,7 +15,7 @@ import { unescapeHTML } from "../util/escape"
* @param opts options for generating image
*/
async function generateSocialImage(
{ cfg, description, fileName, fontsPromise, title, fileData }: ImageOptions,
{ cfg, description, fileName, fontsPromise, title, fileData }: ImageOptions, 
userOpts: SocialImageOptions,
imageDir: string,
) {
@ -25,7 +25,7 @@ async function generateSocialImage(
// JSX that will be used to generate satori svg
const imageComponent = userOpts.imageStructure(cfg, userOpts, title, description, fonts, fileData)
const svg = await satori(imageComponent, {
const svg = await satori(imageComponent, { 
width,
height,
fonts,
@ -66,7 +66,7 @@ export default (() => {
externalResources,
ctx,
}: QuartzComponentProps) => {
// Initialize options if not set
// Initialize options if not set 
if (!fullOptions) {
if (typeof cfg.generateSocialImages !== "boolean") {
fullOptions = { ...defaultOptions, ...cfg.generateSocialImages }
@ -147,7 +147,7 @@ export default (() => {
// Use default og image if filePath doesnt exist (for autogenerated paths with no .md file)
const useDefaultOgImage = fileName === undefined || !cfg.generateSocialImages 
// Path to og/social image (priority: frontmatter > generated image (if enabled) > default image)
// Path to og/social image (priority: frontmatter > generated image (if enabled) > default image) 
let ogImagePath = useDefaultOgImage ? ogImageDefaultPath : ogImageGeneratedPath
// TODO: could be improved to support external images in the future
@ -171,20 +171,9 @@ export default (() => {
return (
<head>
<title>{title}</title> 
<meta charSet="utf-8" /> 
{cfg.theme.cdnCaching && cfg.theme.fontOrigin === "local" ? (
<>
<link rel="preconnect" href="https://cdn.staticfile.org" />
<link rel="stylesheet" href="https://cdn.staticfile.org/lxgw-wenkai-webfont/1.7.0/style.css" />  
</>
) : cfg.theme.fontOrigin === "googleFonts" ? (
<>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
<link rel="stylesheet" href={googleFontHref(cfg.theme)} />
</>
) : null}
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossOrigin="anonymous" />  
<meta charSet="utf-8" />  
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1.1.0/style.css" />
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossOrigin="anonymous" />   
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{/* OG/Twitter meta tags */}
<meta name="og:site_name" content={cfg.pageTitle}></meta>