Skip to content

Commit ed5c438

Browse files
committed
fix: rewrite meta image link (#615)
fixes #604
1 parent b80634e commit ed5c438

File tree

5 files changed

+57
-5
lines changed

5 files changed

+57
-5
lines changed

src/steps/extract-metadata.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { toString } from 'hast-util-to-string';
1414
import { remove } from 'unist-util-remove';
1515
import { visit, EXIT, CONTINUE } from 'unist-util-visit';
1616
import {
17-
getAbsoluteUrl, makeCanonicalHtmlUrl, optimizeImageURL, resolveUrl,
17+
getAbsoluteUrl, makeCanonicalHtmlUrl, optimizeImageURL, resolveUrl, rewriteUrl,
1818
} from './utils.js';
1919
import { toMetaName } from '../utils/modifiers.js';
2020
import { childNodes } from '../utils/hast-utils.js';
@@ -251,7 +251,9 @@ export default function extractMetaData(state, req) {
251251
meta.image = content.image || '/default-meta-image.png';
252252
}
253253
if (meta.image) {
254-
meta.image = getAbsoluteUrl(state, optimizeMetaImage(state.info.path, meta.image));
254+
meta.image = rewriteUrl(state, meta.image);
255+
meta.image = optimizeMetaImage(state.info.path, meta.image);
256+
meta.image = getAbsoluteUrl(state, meta.image);
255257
}
256258

257259
meta.imageAlt = meta['image-alt'] ?? content.imageAlt;
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>ACME CORP</title>
5+
<link rel="canonical" href="https://www.adobe.com/image-from-meta-rewrite-link">
6+
<meta name="description" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tempor congue, nisi erat condimentum nunc, eget tincidunt nisl nunc euismod.">
7+
<meta property="og:title" content="ACME CORP">
8+
<meta property="og:description" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tempor congue, nisi erat condimentum nunc, eget tincidunt nisl nunc euismod.">
9+
<meta property="og:url" content="https://www.adobe.com/image-from-meta-rewrite-link">
10+
<meta property="og:image" content="https://www.adobe.com/images/meta/default-meta-image.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
11+
<meta property="og:image:secure_url" content="https://www.adobe.com/images/meta/default-meta-image.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
12+
<meta name="twitter:card" content="summary_large_image">
13+
<meta name="twitter:title" content="ACME CORP">
14+
<meta name="twitter:description" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tempor congue, nisi erat condimentum nunc, eget tincidunt nisl nunc euismod.">
15+
<meta name="twitter:image" content="https://www.adobe.com/images/meta/default-meta-image.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
16+
<meta name="locale" content="en-US">
17+
<meta name="zero-cell" content="0">
18+
<meta name="publication-date" content="09/12/2023">
19+
<link id="favicon" rel="icon" type="image/svg+xml" href="/icons/spark.svg">
20+
<meta name="viewport" content="width=device-width, initial-scale=1">
21+
<script src="/scripts.js" type="module"></script>
22+
<link rel="stylesheet" href="/styles.css">
23+
</head>
24+
<body>
25+
<header></header>
26+
<main>
27+
<div>
28+
<h1 id="hero">Hero</h1>
29+
<p>Test Content.</p>
30+
</div>
31+
</main>
32+
<footer></footer>
33+
</body>
34+
</html>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Hero
2+
3+
Test Content.
4+
5+
+---------------------------------------------------------------------------------------------------+
6+
| Metadata |
7+
+------------------+--------------------------------------------------------------------------------+
8+
| Image | <https://main--helix-pages--adobe.hlx.page/images/meta/default-meta-image.png> |
9+
+------------------+--------------------------------------------------------------------------------+
10+
| Publication Date | 09/12/2023 |
11+
+------------------+--------------------------------------------------------------------------------+

test/fixtures/content/image-from-meta.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
<link rel="canonical" href="https://helix-pages.com/image-from-meta">
66
<meta property="og:title" content="Hero">
77
<meta property="og:url" content="https://helix-pages.com/image-from-meta">
8-
<meta property="og:image" content="https://hlx.blob.core.windows.net/external/67af739484f3d60dc64e306ccbf9b90a6d63a24c#image.png">
9-
<meta property="og:image:secure_url" content="https://hlx.blob.core.windows.net/external/67af739484f3d60dc64e306ccbf9b90a6d63a24c#image.png">
8+
<meta property="og:image" content="https://helix-pages.com/media_67af739484f3d60dc64e306ccbf9b90a6d63a24c.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
9+
<meta property="og:image:secure_url" content="https://helix-pages.com/media_67af739484f3d60dc64e306ccbf9b90a6d63a24c.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
1010
<meta property="og:image:alt" content="Alt text from metadata">
1111
<meta name="twitter:card" content="summary_large_image">
1212
<meta name="twitter:title" content="Hero">
13-
<meta name="twitter:image" content="https://hlx.blob.core.windows.net/external/67af739484f3d60dc64e306ccbf9b90a6d63a24c#image.png">
13+
<meta name="twitter:image" content="https://helix-pages.com/media_67af739484f3d60dc64e306ccbf9b90a6d63a24c.png?width=1200&#x26;format=pjpg&#x26;optimize=medium">
1414
<link id="favicon" rel="icon" type="image/svg+xml" href="/icons/spark.svg">
1515
<meta name="viewport" content="width=device-width, initial-scale=1">
1616
<script src="/scripts.js" type="module"></script>

test/rendering.test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,11 @@ describe('Rendering', () => {
378378
await testRender('image-from-meta-rewrite', 'html');
379379
});
380380

381+
it('uses correct image - from metadata with rewrite (link)', async () => {
382+
loader.status('config-all.json', 404);
383+
await testRender('image-from-meta-rewrite-link', 'html');
384+
});
385+
381386
it('uses correct description', async () => {
382387
config = DEFAULT_CONFIG_EMPTY;
383388
await testRender('description-long', 'head');

0 commit comments

Comments
 (0)