mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 20:51:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Embeds a google analytics tracking tag in every HTML page
 | |
| def setup(app):
 | |
|     app.add_config_value('google_analytics_id', None, 'html')
 | |
|     app.connect('html-page-context', google_analytics_embed)
 | |
| 
 | |
|     return {'parallel_read_safe': True, 'parallel_write_safe': True, 'version': '0.1'}
 | |
| 
 | |
| 
 | |
| def google_analytics_embed(app, pagename, templatename, context, doctree):
 | |
| 
 | |
|     ga_id = app.config.google_analytics_id
 | |
|     if not ga_id:
 | |
|         return
 | |
| 
 | |
|     metatags = context.get('metatags', '')
 | |
| 
 | |
|     google_analytics_snippet = """
 | |
|         <!-- Global site tag (gtag.js) - Google Analytics -->
 | |
|         <script async src="https://www.googletagmanager.com/gtag/js?id={}"></script>
 | |
|         <script>
 | |
|             window.dataLayer = window.dataLayer || [];
 | |
|             function gtag(){{dataLayer.push(arguments);}}
 | |
|             gtag('js', new Date());
 | |
| 
 | |
|             gtag('config', '{}');
 | |
|         </script>""".format(ga_id, ga_id)
 | |
| 
 | |
|     # Prepend the google analytics to the HTML metatags (which will be passed to the sphinx templating engine)
 | |
|     metatags = google_analytics_snippet + metatags
 | |
|     context['metatags'] = metatags
 | 
