如何始终在使用R Markdown生成的GitHub页面网页上添加Google Analytics定位代码?
我目前正在使用RMarkdown在GitHub页面上创建一个网页。要创建网站,我运行rmarkdown::render_site()
。此命令将编织所有R Markdown文档以创建相关的.html
文件。
但是,我想在我的网站上添加Google Analytics。为此,我需要通过粘贴主index.html
文件中的JavaScript代码,将大学分析跟踪代码添加到我的媒体资源中。我可以通过直接编辑index.html
文件轻松完成此操作。但是,每次运行rmarkdown::render_site()
以呈现网站时,它都会重新编译index.Rmd
文件,从而覆盖index.html
文件,包括我之前直接输入的Google Analytics代码。
如何解决此问题并始终在页面中包含我的Google Analytics代码?
答案 0 :(得分:10)
我在尝试将谷歌分析添加到Github Pages上我自己的RMD网站时,想出了如何完成这项工作。
</head>
标记之前添加Google Analytics代码... 第1步:创建包含Google Analytics脚本的.html文件,并将其保存在您网站的工作目录中。 (简单地说,创建新的文本文件,粘贴脚本,保存&#34; filename.html&#34;。
第2步:调整您的rmd文件的yaml标题,以包含 includes:&amp; in_header:参数,并引用包含跟踪代码的.html文件
---
title: ""
output:
html_document:
includes:
in_header: GA_Script.html
---
第3步:为与您网站相关的每个rmd文件调整yaml标头,以便每个网页向Google Analytics报告。
It is recommended将Google Analytics跟踪代码放置在网站html中的结束<\head>
标记之前。上面的方法将完成。
如果由于某种原因你想将它包含在html代码的主体中,你可以通过在html_preserve命令之间粘贴它来将GA代码包含在rmd文件的主体中:
<!--html_preserve-->
Google Analytics Code Here
<!--/html_preserve-->
答案 1 :(得分:0)
我将标头手动写入同一RMarkdown文件中,并且仅包含Google Analytics(分析)块。该标头直接在yaml之后。就像魅力一样。
---
title: "XXXXXXXXXX"
author: "XXXXXXXXXXX"
date: "`r Sys.Date()`"
---
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'XXXXXXXXXX');
</script>
</head>