Merge 73fc1ce95913103d07fb7cf20e44bd1015178b3c into 7be47742a6dc86f22d148ca9d304f7a9eea318cf

This commit is contained in:
Stephen Tse 2025-02-01 00:27:47 -05:00 committed by GitHub
commit 081aa2ba9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 2 deletions

View File

@ -45,7 +45,11 @@ The following properties can be used to customize your link previews:
| `socialDescription` | `description` | Description to be used for preview. | | `socialDescription` | `description` | Description to be used for preview. |
| `socialImage` | `image`, `cover` | Link to preview image. | | `socialImage` | `image`, `cover` | Link to preview image. |
The `socialImage` property should contain a link to an image relative to `quartz/static`. If you have a folder for all your images in `quartz/static/my-images`, an example for `socialImage` could be `"my-images/cover.png"`. The `socialImage` property should be a link to an image. It can be relative to your base URL, or you can provide a full URL with scheme (HTTP protocol only). For example:
1. If you have an image `cover.png` in `quartz/static/`, the `socialImage` value could be `"static/cover.png"`.
2. If your image is in `content/assets/`, then the `socialImage` value would become `"assets/cover.png"`.
3. If your image is hosted elsewhere, say `https://example.com/cover.png`, then the `socialImage` value should be `"https://example.com/cover.png"`.
> [!info] Info > [!info] Info
> >

View File

@ -44,6 +44,8 @@ const defaultOptions: SocialImageOptions = {
excludeRoot: false, excludeRoot: false,
} }
const urlSchemeRegex = new RegExp("^(http|https)://", "i")
export default (() => { export default (() => {
let fontsPromise: Promise<SatoriOptions["fonts"]> let fontsPromise: Promise<SatoriOptions["fonts"]>
@ -147,7 +149,9 @@ export default (() => {
// Override with frontmatter url if existing // Override with frontmatter url if existing
if (frontmatterImgUrl) { if (frontmatterImgUrl) {
ogImagePath = `https://${cfg.baseUrl}/static/${frontmatterImgUrl}` ogImagePath = urlSchemeRegex.test(frontmatterImgUrl)
? frontmatterImgUrl
: `https://${cfg.baseUrl}/${frontmatterImgUrl}`
} }
// Url of current page // Url of current page