Google analytics 如何在RMarkdown生成的GitHub页面中包含Google分析?

Google analytics 如何在RMarkdown生成的GitHub页面中包含Google分析?,google-analytics,r-markdown,github-pages,Google Analytics,R Markdown,Github Pages,我怎样才能始终在我的GitHub页面上包含使用R Markdown生成的Google Analytics跟踪代码 我目前正在使用RMarkdown创建一个托管在GitHub页面上的网页。要创建站点,我运行rmarkdown::render\u site()。此命令将组合所有R标记文档以创建相关的.html文件 然而,我想在我的网站上加入谷歌分析。为此,我需要通过将JavaScript代码粘贴到我的主index.html文件中,将大学分析跟踪代码包含到我的属性中。我可以通过直接编辑index.ht

我怎样才能始终在我的GitHub页面上包含使用R Markdown生成的Google Analytics跟踪代码

我目前正在使用RMarkdown创建一个托管在GitHub页面上的网页。要创建站点,我运行
rmarkdown::render\u site()
。此命令将组合所有R标记文档以创建相关的
.html
文件

然而,我想在我的网站上加入谷歌分析。为此,我需要通过将JavaScript代码粘贴到我的主
index.html
文件中,将大学分析跟踪代码包含到我的属性中。我可以通过直接编辑
index.html
文件轻松地完成这项工作。但是,每次我运行
rmarkdown::render_site()
来呈现站点时,它都会重新编织
index.Rmd
文件,从而覆盖
index.html
文件,包括我之前直接输入的Google Analytics代码


如何解决此问题并始终将我的Google Analytics代码包含在页面中?

我在尝试将Google Analytics添加到Github页面上的我自己的RMD站点时,才知道如何完成此操作

要在RMD生成的html文档的关闭标记之前添加Google Analytics代码。。。 步骤1:创建一个包含Google Analytics脚本的.html文件,并将其保存在站点的工作目录中。(只需创建新的文本文件,粘贴脚本,保存“filename.html”

第2步:调整rmd文件的yaml头,使其包含头中的包含:参数,并引用包含跟踪代码的.html文件

---
title: ""
output: 
  html_document:
    includes:
       in_header: GA_Script.html
---
第3步:调整与站点相关的每个rmd文件的yaml标题,以便每个页面都向Google Analytics报告

将Google Analytics跟踪代码放在站点html中的关闭标记
之前。上述方法将完成此操作

如果出于某种原因,您希望将GA代码包含在html代码主体中,您可以通过将其粘贴在html_preserve命令之间,将GA代码包含在rmd文件主体中:

<!--html_preserve-->

Google Analytics Code Here

<!--/html_preserve-->

谷歌分析代码在这里

我在同一个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> 
---
标题:“XXXXXXXXX”
作者:“XXXXXXXXXX”
日期:“`r Sys.date()`”
---
window.dataLayer=window.dataLayer | |[];
函数gtag(){dataLayer.push(参数);}
gtag('js',新日期());
gtag('config','xxxxxxxxx');

我可能误解了你的意思,但是你为什么不在你的Rmd文件中包含JS代码呢?是的,这很有效!这是一个如此简单的解决方案,我认为它不会起作用:)谢谢!好东西!我只想补充一点,如果你把你的东西放到
\u site.yml
,第三步实际上是没有必要的。甚至更好!谢谢分享。这将创建2个头部标签。标准的,加上定制的。这是基于W3C规范的无效HTML。自定义HTML将位于body标记内。这也是无效的HTML。这可能就是为什么这种解决方案并不常见的原因。然而,就我所知,似乎所有现代浏览器仍然会呈现代码。