Jordancole21's picture
Deploy native Gradio SEO page and tool
73e2d15 verified
Raw
History Blame Contribute Delete
1.53 kB
"""Optional PostHog analytics. Loads only when POSTHOG_KEY is configured.
POSTHOG_KEY is a public (client-side) project key, not a secret; set it as a
Space *variable*. CTA clicks fire `hf_loreify_cta_clicked` with placement,
generated_before_click, and device_type (wired in ctas.py).
"""
import json
import os
def analytics_head() -> str:
key = os.environ.get("POSTHOG_KEY", "")
if not key:
return ""
host = os.environ.get("POSTHOG_HOST", "https://us.i.posthog.com")
return (
"<script>"
"!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+'/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 identify'.split(' '),n=0;n<o.length;n++)g(u,o[n]);"
"e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);"
f"posthog.init({json.dumps(key)},{{api_host:{json.dumps(host)},person_profiles:'never'}});"
"</script>"
)