Hydrophobefireman
2023-12-28 233d4b2f2c7dda62355382fb02760822c01e9ca2
quartz/plugins/emitters/componentResources.ts
@@ -7,7 +7,7 @@
import plausibleScript from "../../components/scripts/plausible.inline"
// @ts-ignore
import popoverScript from "../../components/scripts/popover.inline"
import styles from "../../styles/base.scss"
import styles from "../../styles/custom.scss"
import popoverStyle from "../../components/styles/popover.scss"
import { BuildCtx } from "../../util/ctx"
import { StaticResources } from "../../util/resources"
@@ -85,17 +85,26 @@
    componentResources.afterDOMLoaded.push(`
      window.dataLayer = window.dataLayer || [];
      function gtag() { dataLayer.push(arguments); }
      gtag(\`js\`, new Date());
      gtag(\`config\`, \`${tagId}\`, { send_page_view: false });
      gtag("js", new Date());
      gtag("config", "${tagId}", { send_page_view: false });
  
      document.addEventListener(\`nav\`, () => {
        gtag(\`event\`, \`page_view\`, {
      document.addEventListener("nav", () => {
        gtag("event", "page_view", {
          page_title: document.title,
          page_location: location.href,
        });
      });`)
  } else if (cfg.analytics?.provider === "plausible") {
    componentResources.afterDOMLoaded.push(plausibleScript)
  } else if (cfg.analytics?.provider === "umami") {
    componentResources.afterDOMLoaded.push(`
      const umamiScript = document.createElement("script")
      umamiScript.src = "https://analytics.umami.is/script.js"
      umamiScript.setAttribute("data-website-id", "${cfg.analytics.websiteId}")
      umamiScript.async = true
      document.head.appendChild(umamiScript)
    `)
  }
  if (cfg.enableSPA) {
@@ -155,7 +164,7 @@
      addGlobalPageResources(ctx, resources, componentResources)
      const stylesheet = joinStyles(ctx.cfg.configuration.theme, styles, ...componentResources.css)
      const stylesheet = joinStyles(ctx.cfg.configuration.theme, ...componentResources.css, styles)
      const prescript = joinScripts(componentResources.beforeDOMLoaded)
      const postscript = joinScripts(componentResources.afterDOMLoaded)
      const fps = await Promise.all([