mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 09:01:40 +01: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
							 |