如何在RMarkdown生成的GitHub页面中包含Google Analytics?

时间:2016-12-29 09:42:55

标签: google-analytics r-markdown github-pages

如何始终在使用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代码?

2 个答案:

答案 0 :(得分:10)

我在尝试将谷歌分析添加到Github Pages上我自己的RMD网站时,想出了如何完成这项工作。

要在从RMD生成的html文档的结束</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>