mirror of
https://github.com/tabler/tabler.git
synced 2025-12-21 17:34:25 +04:00
init posthog stats
This commit is contained in:
@@ -264,6 +264,10 @@ export default function (eleventyConfig) {
|
|||||||
eleventyConfig.addGlobalData("environment", environment);
|
eleventyConfig.addGlobalData("environment", environment);
|
||||||
eleventyConfig.addGlobalData("package", pkg);
|
eleventyConfig.addGlobalData("package", pkg);
|
||||||
eleventyConfig.addGlobalData("cdnUrl", `https://cdn.jsdelivr.net/npm/@tabler/core@${pkg.version}`);
|
eleventyConfig.addGlobalData("cdnUrl", `https://cdn.jsdelivr.net/npm/@tabler/core@${pkg.version}`);
|
||||||
|
|
||||||
|
// PostHog Analytics Environment Variables
|
||||||
|
eleventyConfig.addGlobalData("posthogApiKey", process.env.POSTHOG_API_KEY || "");
|
||||||
|
eleventyConfig.addGlobalData("posthogHost", process.env.POSTHOG_HOST || "https://us.i.posthog.com");
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
iconsCount: () => 123,
|
iconsCount: () => 123,
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ export default function (eleventyConfig) {
|
|||||||
eleventyConfig.addGlobalData("environment", environment);
|
eleventyConfig.addGlobalData("environment", environment);
|
||||||
eleventyConfig.addGlobalData("readme", readFileSync(join("..", "README.md"), "utf-8"));
|
eleventyConfig.addGlobalData("readme", readFileSync(join("..", "README.md"), "utf-8"));
|
||||||
eleventyConfig.addGlobalData("license", readFileSync(join("..", "LICENSE"), "utf-8"));
|
eleventyConfig.addGlobalData("license", readFileSync(join("..", "LICENSE"), "utf-8"));
|
||||||
|
|
||||||
|
// PostHog Analytics Environment Variables
|
||||||
|
eleventyConfig.addGlobalData("posthogApiKey", process.env.NEXT_PUBLIC_POSTHOG_KEY);
|
||||||
|
eleventyConfig.addGlobalData("posthogHost", process.env.NEXT_PUBLIC_POSTHOG_HOST);
|
||||||
|
|
||||||
eleventyConfig.addGlobalData("pages", () => {
|
eleventyConfig.addGlobalData("pages", () => {
|
||||||
return sync('pages/**/*.html').filter((file) => {
|
return sync('pages/**/*.html').filter((file) => {
|
||||||
|
|||||||
@@ -1 +1,29 @@
|
|||||||
<script defer data-api="/stats/event" data-domain="preview.tabler.io" src="/stats/js/script.js"></script>
|
<script defer data-api="/stats/event" data-domain="preview.tabler.io" src="/stats/js/script.js"></script>
|
||||||
|
|
||||||
|
{% if posthogApiKey %}
|
||||||
|
<script>
|
||||||
|
/**
|
||||||
|
* PostHog Analytics
|
||||||
|
*
|
||||||
|
* This script is used to track user interactions and page views.
|
||||||
|
* It is only for demo purposes. Don't use it in production.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
!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".split(" "), n = 0; n < o.length; n++)g(u, o[n]); e._i.push([i, s, a]) }, e.__SV = 1) }(document, window.posthog || []);
|
||||||
|
|
||||||
|
// Only initialize PostHog on allowed domains
|
||||||
|
const currentDomain = window.location.hostname;
|
||||||
|
|
||||||
|
if (['docs.tabler.io', 'preview.tabler.io'].includes(currentDomain)) {
|
||||||
|
posthog.init('{{ posthogApiKey }}', {
|
||||||
|
api_host: '{{ posthogHost }}',
|
||||||
|
person_profiles: 'identified_only',
|
||||||
|
capture_pageview: true,
|
||||||
|
capture_pageleave: true,
|
||||||
|
loaded: function (posthog) {
|
||||||
|
console.log('PostHog initialized on', currentDomain);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://turbo.build/schema.json",
|
"$schema": "https://turbo.build/schema.json",
|
||||||
"globalEnv": [
|
"globalEnv": [
|
||||||
"NODE_ENV"
|
"NODE_ENV",
|
||||||
|
"NEXT_PUBLIC_POSTHOG_KEY",
|
||||||
|
"NEXT_PUBLIC_POSTHOG_HOST"
|
||||||
],
|
],
|
||||||
"tasks": {
|
"tasks": {
|
||||||
"build": {
|
"build": {
|
||||||
|
|||||||
Reference in New Issue
Block a user