diff --git a/src/steps/extract-metadata.js b/src/steps/extract-metadata.js index eb17c9a6..e1495e87 100644 --- a/src/steps/extract-metadata.js +++ b/src/steps/extract-metadata.js @@ -14,7 +14,7 @@ import { toString } from 'hast-util-to-string'; import { remove } from 'unist-util-remove'; import { visit, EXIT, CONTINUE } from 'unist-util-visit'; import { - getAbsoluteUrl, makeCanonicalHtmlUrl, optimizeImageURL, resolveUrl, + getAbsoluteUrl, makeCanonicalHtmlUrl, optimizeImageURL, resolveUrl, rewriteUrl, } from './utils.js'; import { toMetaName } from '../utils/modifiers.js'; import { childNodes } from '../utils/hast-utils.js'; @@ -251,7 +251,9 @@ export default function extractMetaData(state, req) { meta.image = content.image || '/default-meta-image.png'; } if (meta.image) { - meta.image = getAbsoluteUrl(state, optimizeMetaImage(state.info.path, meta.image)); + meta.image = rewriteUrl(state, meta.image); + meta.image = optimizeMetaImage(state.info.path, meta.image); + meta.image = getAbsoluteUrl(state, meta.image); } meta.imageAlt = meta['image-alt'] ?? content.imageAlt; diff --git a/test/fixtures/content/image-from-meta-rewrite-link.html b/test/fixtures/content/image-from-meta-rewrite-link.html new file mode 100644 index 00000000..da662f5f --- /dev/null +++ b/test/fixtures/content/image-from-meta-rewrite-link.html @@ -0,0 +1,34 @@ + + + + ACME CORP + + + + + + + + + + + + + + + + + + + + +
+
+
+

Hero

+

Test Content.

+
+
+ + + diff --git a/test/fixtures/content/image-from-meta-rewrite-link.md b/test/fixtures/content/image-from-meta-rewrite-link.md new file mode 100644 index 00000000..b09b7f65 --- /dev/null +++ b/test/fixtures/content/image-from-meta-rewrite-link.md @@ -0,0 +1,11 @@ +# Hero + +Test Content. + ++---------------------------------------------------------------------------------------------------+ +| Metadata | ++------------------+--------------------------------------------------------------------------------+ +| Image | | ++------------------+--------------------------------------------------------------------------------+ +| Publication Date | 09/12/2023 | ++------------------+--------------------------------------------------------------------------------+ diff --git a/test/fixtures/content/image-from-meta.html b/test/fixtures/content/image-from-meta.html index a9f00d73..9e4fe3d1 100644 --- a/test/fixtures/content/image-from-meta.html +++ b/test/fixtures/content/image-from-meta.html @@ -5,12 +5,12 @@ - - + + - + diff --git a/test/rendering.test.js b/test/rendering.test.js index 4c990022..7c6a0128 100644 --- a/test/rendering.test.js +++ b/test/rendering.test.js @@ -378,6 +378,11 @@ describe('Rendering', () => { await testRender('image-from-meta-rewrite', 'html'); }); + it('uses correct image - from metadata with rewrite (link)', async () => { + loader.status('config-all.json', 404); + await testRender('image-from-meta-rewrite-link', 'html'); + }); + it('uses correct description', async () => { config = DEFAULT_CONFIG_EMPTY; await testRender('description-long', 'head');