Skip to content

Commit

Permalink
feat(analytics): integrate Posthog analytics (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
CorentinTh authored Feb 2, 2025
1 parent 26fe310 commit 66b5de9
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
4 changes: 4 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ export default antfu({
semi: true,
},

ignores: [
'src/components/PosthogAnalytics.astro', // Inlined script
],

rules: {
// To allow export on top of files
'ts/no-use-before-define': ['error', { allowNamedExports: true, functions: false }],
Expand Down
13 changes: 13 additions & 0 deletions src/components/PosthogAnalytics.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
const isEnabled= import.meta.env.POSTHOG_ENABLED === 'true';
const apiKey: string | undefined = import.meta.env.POSTHOG_API_KEY;
---
{ isEnabled && (
<script is:inline define:vars={{apiKey}}>
!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug getPageViewId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
posthog.init(apiKey, {
api_host:'https://eu.i.posthog.com',
person_profiles: 'identified_only'
})
</script>
)}
2 changes: 2 additions & 0 deletions src/layouts/Layout.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
import PlausibleScript from '../components/PlausibleScript.astro';
import PosthogAnalytics from '../components/PosthogAnalytics.astro';
const appName = 'Papra';
const shortDescription = 'Your Open-Source Solution to Document Chaos';
Expand Down Expand Up @@ -48,6 +49,7 @@ const ogImageHeight = '630';
<link rel="manifest" href="/site.webmanifest" />

<PlausibleScript />
<PosthogAnalytics />
</head>
<body class="bg-background font-sans antialiased min-h-screen text-foreground text-sm" data-kb-theme="dark">
<slot />
Expand Down

0 comments on commit 66b5de9

Please sign in to comment.