diff --git a/astro.config.mjs b/astro.config.mjs index 03fb08b..48fed18 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -9,15 +9,15 @@ import image from '@astrojs/image'; import mdx from '@astrojs/mdx'; import partytown from '@astrojs/partytown'; -import { remarkReadingTime } from './src/utils/frontmatter.js'; - +import { remarkReadingTime } from './src/utils/frontmatter.mjs'; import { SITE } from './src/config.mjs'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); -// https://astro.build/config +const whenExternalScripts = (items = []) => + SITE.googleAnalyticsId ? (Array.isArray(items) ? items.map((item) => item()) : [items()]) : []; + export default defineConfig({ - // Astro uses this full URL to generate your sitemap and canonical URLs in your final build site: SITE.origin, base: SITE.basePathname, trailingSlash: SITE.trailingSlash ? 'always' : 'never', @@ -36,10 +36,11 @@ export default defineConfig({ }), mdx(), - /* Disable this integration if you don't use Google Analytics (or other external script). */ - partytown({ - config: { forward: ['dataLayer.push'] }, - }), + ...whenExternalScripts(() => + partytown({ + config: { forward: ['dataLayer.push'] }, + }) + ), ], markdown: { diff --git a/src/utils/frontmatter.js b/src/utils/frontmatter.mjs similarity index 100% rename from src/utils/frontmatter.js rename to src/utils/frontmatter.mjs diff --git a/src/utils/utils.js b/src/utils/utils.js index a873d1a..1fdf5c5 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -6,4 +6,4 @@ export const getFormattedDate = (date) => month: 'short', day: 'numeric', }) - : ''; + : ''; \ No newline at end of file