Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions docs/src/components/Analytics.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
const GA_ID = import.meta.env.PUBLIC_GA_ID;
---

{GA_ID && (
<>
<script
async
src={`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`}
></script>
<script define:vars={{ GA_ID }}>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', GA_ID);
</script>
</>
)}
13 changes: 2 additions & 11 deletions docs/src/layouts/BaseLayout.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
import '../styles/globals.css';
import Analytics from '../components/Analytics.astro';

interface Props {
title?: string;
Expand All @@ -11,8 +12,6 @@ const {
description = 'High-performance banking API for the Rinha de Backend challenge. Built with Rust, Actix-web 4, and SQLx. ~140 lines under strict resource constraints (1.5 CPU, 550MB RAM).'
} = Astro.props;

const GA_ID = import.meta.env.PUBLIC_GA_ID;

const jsonLd = {
'@context': 'https://schema.org',
'@type': 'SoftwareSourceCode',
Expand Down Expand Up @@ -61,17 +60,9 @@ const jsonLd = {
<script type="application/ld+json" set:html={JSON.stringify(jsonLd)} />

<title>{title}</title>
<Analytics />
</head>
<body>
<!-- Google Analytics -->
<script is:inline async src={`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`}></script>
<script is:inline define:vars={{ GA_ID }}>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', GA_ID);
</script>

<div class="particles">
<div class="particle"></div>
<div class="particle"></div>
Expand Down
Loading