From 3d2ca1d4b009b381f9058448cdc5b737f06ee4de Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Tue, 7 May 2024 10:20:13 -0500 Subject: [PATCH 1/4] refactor: Swap out og:image for a larger one w/ 'Preact' label --- index.html | 4 ++-- src/assets/og-image.png | Bin 0 -> 16560 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/assets/og-image.png diff --git a/index.html b/index.html index af8410330..957ee227f 100644 --- a/index.html +++ b/index.html @@ -9,8 +9,8 @@ - - + + diff --git a/src/assets/og-image.png b/src/assets/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..dc4809d2cb62004e5b337c71f5cf0adfaef03a56 GIT binary patch literal 16560 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 literal 0 HcmV?d00001 From 51cbfc83886e649952b1b4d2067fdf468e6479b0 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Tue, 7 May 2024 10:22:14 -0500 Subject: [PATCH 2/4] chore: Add og:type & twitter:site meta tags --- index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.html b/index.html index 957ee227f..3b5cc8df3 100644 --- a/index.html +++ b/index.html @@ -9,8 +9,10 @@ + + From 55d7013aaa4cf844e11e5ab80eb2c49db14c4994 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Tue, 7 May 2024 10:24:19 -0500 Subject: [PATCH 3/4] refactor: Use variable DEPLOY_URL for Netlify PR previews --- index.html | 6 +++--- plugins/netlify.js | 2 +- plugins/rss-feed.js | 18 +++++++++--------- src/index.jsx | 2 +- vite.config.js | 10 +++++++++- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index 3b5cc8df3..e97ccfdce 100644 --- a/index.html +++ b/index.html @@ -7,10 +7,10 @@ - - + + - + diff --git a/plugins/netlify.js b/plugins/netlify.js index 9d8df2373..a5129b3c2 100644 --- a/plugins/netlify.js +++ b/plugins/netlify.js @@ -1,5 +1,5 @@ import path from 'node:path'; -import { pathToFileURL } from 'node:url' +import { pathToFileURL } from 'node:url'; import { Readable } from 'stream'; /** diff --git a/plugins/rss-feed.js b/plugins/rss-feed.js index 894b5f6ac..0f6bbd6be 100644 --- a/plugins/rss-feed.js +++ b/plugins/rss-feed.js @@ -4,7 +4,7 @@ import config from '../src/config.json'; /** * @returns {import('vite').Plugin} */ -export function rssFeedPlugin() { +export function rssFeedPlugin(deployURL) { return { name: 'rss-feed', apply: 'build', @@ -12,23 +12,23 @@ export function rssFeedPlugin() { const feed = new Feed({ title: 'Preact Blog', description: 'Preact news and articles', - id: 'https://preactjs.com', - link: 'https://preactjs.com', + id: deployURL, + link: deployURL, language: 'en', - image: 'https://preactjs.com/assets/branding/symbol.png', - favicon: 'https://preactjs.com/favicon.ico', + image: `${deployURL}/assets/branding/symbol.png`, + favicon: `${deployURL}/favicon.ico`, copyright: 'All rights reserved 2022, the Preact team', feedLinks: { - json: 'https://preactjs.com/json', - atom: 'https://preactjs.com/atom' + json: `${deployURL}/json`, + atom: `${deployURL}/atom` } }); config.blog.forEach(post => { feed.addItem({ title: post.name.en, - id: `https://preactjs.com${post.path}`, - link: `https://preactjs.com${post.path}`, + id: `${deployURL}${post.path}`, + link: `${deployURL}${post.path}`, description: post.excerpt.en, date: new Date(post.date) }); diff --git a/src/index.jsx b/src/index.jsx index 376a99086..1329090ee 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -46,7 +46,7 @@ export async function prerender() { const elements = new Set([ { type: 'meta', props: { name: 'description', content: globalThis.description } }, - { type: 'meta', props: { property: 'og:url', content: `https://preactjs.com${location.pathname}` } }, + { type: 'meta', props: { property: 'og:url', content: `${import.meta.env.NETLIFY_DEPLOY_URL}${location.pathname}` } }, { type: 'meta', props: { property: 'og:title', content: globalThis.title } }, { type: 'meta', props: { property: 'og:description', content: globalThis.description } }, location.pathname.includes('/v8/') && { type: 'meta', props: { name: 'robots', content: 'noindex' } }, diff --git a/vite.config.js b/vite.config.js index 896296c47..81683805a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -10,6 +10,10 @@ import { spaFallbackMiddlewarePlugin } from './plugins/spa-fallback-middleware.j import { htmlRoutingMiddlewarePlugin } from './plugins/html-routing-middleware.js'; import { rssFeedPlugin } from './plugins/rss-feed.js'; +const NETLIFY_DEPLOY_URL = process.env.CONTEXT === 'deploy-preview' + ? process.env.DEPLOY_PRIME_URL + : 'https://preactjs.com'; + export default defineConfig({ publicDir: 'src/assets', optimizeDeps: { @@ -19,7 +23,11 @@ export default defineConfig({ target: ['chrome88', 'edge88', 'es2020', 'firefox78', 'safari14'], outDir: 'build' }, + define: { + 'import.meta.env.NETLIFY_DEPLOY_URL': JSON.stringify(NETLIFY_DEPLOY_URL) + }, plugins: [ + // @ts-ignore replace({ 'process.env.BRANCH': JSON.stringify(process.env.BRANCH), preventAssignment: true @@ -53,6 +61,6 @@ export default defineConfig({ netlifyPlugin(), spaFallbackMiddlewarePlugin(), htmlRoutingMiddlewarePlugin(), - rssFeedPlugin() + rssFeedPlugin(NETLIFY_DEPLOY_URL) ] }); From 624c93b7fb867a3b9af06dbad391bd4443ed7fed Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Tue, 7 May 2024 11:56:27 -0500 Subject: [PATCH 4/4] chore: Remove now unused app-icon --- src/assets/app-icon.png | Bin 12909 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/assets/app-icon.png diff --git a/src/assets/app-icon.png b/src/assets/app-icon.png deleted file mode 100644 index fa25977939e6cc1fef1fb1e691539012bd315907..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12909 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 Uuki!?e>wna%Gye`3O14d2gXIU;Q#;t