Skip to main content
  1. posts/

R Markdown animated GitHub corner

·332 words·2 mins· loading · loading · · ·
Dev R Tutorial

This is an incredibly easy way to spice up any R Markdown file. It adds an animated link to GitHub in the top corner of the HTML output, just like you see at the top of this page. Mouse over the icon to make it wave. All thanks and praise should go to the creator Tim Holman.

The first step is to create a new file called “header.html” and paste in the following code. This creates a blue icon, though the background color and GitHub figure color can be changed at style="fill:#1E80F0; color:#fff, in that order. You’ll also want to change the link URL at the very beginning of the code: href="https://github.com/jhrcook"

<a href="https://github.com/jhrcook" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#1E80F0; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>

Then, in the YAML header of the R Markdown, tell it to inlcude the new file at the beginning of the output HTML.

---
title: "Title of R Markdown"
author: Joshua Cook
date: 2019-08-16
output:
  html_document:
    includes:
      in_header: header.html
---

That’s it! It is really that simple to use.

NB. If there is navigation bar at the top of the HTML file (if you are using ‘ pkgdown’, for instance), you will need to adjust the top position of the GitHub corner, manually. This can be done by adjusting the values in position: absolute; top: 0; border: 0; right: 0;, where a positive value for top will move the corner down.

Related

Setting axes to integer values in 'ggplot2'
·501 words·3 mins· loading · loading
Dev R Data Viz Tutorial
Find the intersection of overlapping histograms in R
·508 words·3 mins· loading · loading
Data Science R Statistics Tutorial
Caution when using Python's `Final` type hint on mutable objects.
·689 words·4 mins· loading · loading
Dev Tutorial Python Type Hinting