diff --git a/.github/main.workflow b/.github/main.workflow
deleted file mode 100644
index 009259749e3d2ffbadd2f3d2955606e7c892e4ec..0000000000000000000000000000000000000000
--- a/.github/main.workflow
+++ /dev/null
@@ -1,26 +0,0 @@
-workflow "Publish to RubyGems" {
-  on = "release"
-  resolves = [
-    "Publish to GPR",
-    "Publish to Ruby Gems",
-  ]
-}
-
-action "Build from Gemspec" {
-  uses = "scarhand/actions-ruby@master"
-  runs = "gem build just-the-docs.gemspec"
-}
-
-action "Publish to Ruby Gems" {
-  uses = "scarhand/actions-ruby@master"
-  needs = ["Build from Gemspec"]
-  runs = "gem push *.gem"
-  secrets = ["RUBYGEMS_AUTH_TOKEN"]
-}
-
-action "Publish to GPR" {
-  uses = "scarhand/actions-ruby@master"
-  needs = ["Build from Gemspec"]
-  secrets = ["GPR_AUTH_TOKEN"]
-  runs = " gem push --key [\"GPR_AUTH_TOKEN\"] --host https://rubygems.pkg.github.com/pmarsceill *.gem"
-}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..340f60b1d401fc11278dcc2ae6a5098d27a4baf4
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,35 @@
+on: [push]
+
+name: CI
+
+jobs:
+
+  jekyll:
+    name: Build Jekyll site
+    runs-on: ubuntu-latest
+    steps:
+
+    - uses: actions/checkout@master
+
+    - name: Build the site in the jekyll/builder container
+      run: |
+        docker run --rm \
+        --volume="${{ github.workspace }}:/srv/jekyll" \
+        jekyll/builder:3.8.5 /bin/bash -c "chmod 777 /srv/jekyll && jekyll build"
+        
+  css:
+    name: Stylelint
+    runs-on: ubuntu-latest
+    steps:
+    
+    - uses: actions/checkout@master
+
+    - name: Use Node.js 10.x
+      uses: actions/setup-node@v1
+      with:
+        version: 10.x
+
+    - name: npm install, build, and test
+      run: |
+        npm install
+        npm test
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bba33db1b4be52ebf99ac2e90524458adc5211d2
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,39 @@
+name: Publish Gem
+
+on: [release]
+
+jobs:
+  build:
+    name: Build + Publish
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@master
+    - name: Set up Ruby 2.6
+      uses: actions/setup-ruby@v1
+      with:
+        version: 2.6.x
+
+    - name: Publish to GPR
+      run: |
+        mkdir -p $HOME/.gem
+        touch $HOME/.gem/credentials
+        chmod 0600 $HOME/.gem/credentials
+        printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
+        gem build just-the-docs.gemspec
+        gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
+      env:
+        GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
+        OWNER: pmarsceill
+
+    - name: Publish to RubyGems
+      run: |
+        mkdir -p $HOME/.gem
+        touch $HOME/.gem/credentials
+        chmod 0600 $HOME/.gem/credentials
+        printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
+        gem build just-the-docs.gemspec
+        gem push *.gem
+      env:
+        GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
+
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index f9fa81d0278cdca47fc5339540aeb8f3c6c493b7..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-language: ruby
-rvm:
-  - 2.3.0
-env:
-  - TRAVIS_NODE_VERSION="9.3.0"
-
-install:
-  - npm install
-  - gem install bundler --version '>=1.17.1'
-  - bundle install
-
-script:
-  - npm run test
-  - bundle exec jekyll build
diff --git a/_includes/head.html b/_includes/head.html
index 13cdbaf4b9c3a6318eda349ef664b5c0992548fa..58d211c76d9d81cf5f1fcf35c1a44427df92da68 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -15,12 +15,15 @@
   <link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}">
 
   {% if site.ga_tracking != nil %}
+    <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.ga_tracking }}"></script>
     <script>
-      window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
-      ga('create', '{{ site.ga_tracking }}', '{{ site.url }}');
-      ga('send', 'pageview');
+      window.dataLayer = window.dataLayer || [];
+      function gtag(){dataLayer.push(arguments);}
+      gtag('js', new Date());
+
+      gtag('config', "{{ site.ga_tracking }}");
     </script>
-    <script async src="https://www.google-analytics.com/analytics.js"></script>
+
   {% endif %}
 
   {% if site.search_enabled != nil %}
@@ -30,5 +33,5 @@
 
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-{% seo %}
+  {% seo %}
 </head>
diff --git a/_includes/nav.html b/_includes/nav.html
index 35984d50e21e148adbe02b1f82485a7604c63e93..d561a42a70b3e473f7ba41283965751423b7917b 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -1,42 +1,40 @@
-<ul class="navigation-list">
-  {% assign pages_list = site.html_pages | sort:"nav_order" %}
-  {% for node in pages_list %}
-    {% unless node.nav_exclude %}
-      {% if node.parent == nil %}
-        <li class="navigation-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
-          {% if page.parent == node.title or page.grand_parent == node.title %}
-            {% assign first_level_url = node.url | absolute_url %}
-          {% endif %}
-          <a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
-          {% if node.has_children %}
-            {% assign children_list = site.html_pages | sort:"nav_order" %}
-            <ul class="navigation-list-child-list ">
-              {% for child in children_list %}
-                {% if child.parent == node.title %}
+<nav role="navigation" aria-label="Main navigation">
+  <ul class="navigation-list">
+    {%- assign pages_list = site.html_pages | sort:"nav_order" -%}
+    {%- for node in pages_list -%}
+      {%- unless node.nav_exclude -%}
+        {%- if node.parent == nil -%}
+          <li class="navigation-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
+            {%- if page.parent == node.title or page.grand_parent == node.title -%}
+              {%- assign first_level_url = node.url | absolute_url -%}
+            {%- endif -%}
+            <a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
+            {%- if node.has_children -%}
+              {%- assign children_list = site.html_pages | where: "parent", node.title | sort:"nav_order" -%}
+              <ul class="navigation-list-child-list ">
+                {%- for child in children_list -%}
                   <li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
-                    {% if page.url == child.url or page.parent == child.title %}
-                      {% assign second_level_url = child.url | absolute_url %}
-                    {% endif %}
+                    {%- if page.url == child.url or page.parent == child.title -%}
+                      {%- assign second_level_url = child.url | absolute_url -%}
+                    {%- endif -%}
                     <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
-                    {% if child.has_children %}
-                      {% assign grand_children_list = site.html_pages | sort:"nav_order" %}
-                      <ul class="navigation-list-child-list">
-                        {% for grand_child in grand_children_list %}
-                          {% if grand_child.parent == child.title %}
-                            <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
-                              <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
-                            </li>
-                          {% endif %}
-                        {% endfor %}
+                    {%- if child.has_children -%}
+                        {%- assign grand_children_list = site.html_pages | where: "parent", child.title | sort:"nav_order" -%}
+                        <ul class="navigation-list-child-list">
+                        {%- for grand_child in grand_children_list -%}
+                          <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
+                            <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
+                          </li>
+                        {%- endfor -%}
                       </ul>
-                    {% endif %}
+                    {%- endif -%}
                   </li>
-                {% endif %}
-              {% endfor %}
-            </ul>
-          {% endif %}
-        </li>
-      {% endif %}
-    {% endunless %}
-  {% endfor %}
-</ul>
+                {%- endfor -%}
+              </ul>
+            {%- endif -%}
+          </li>
+        {%- endif -%}
+      {%- endunless -%}
+    {%- endfor -%}
+  </ul>
+</nav>
diff --git a/_layouts/default.html b/_layouts/default.html
index 3eb3a2841c75583e62df49504108557fe504f1a1..206bcba43a1c81f92762d9bb035e54e59dc55fae 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -6,7 +6,7 @@
 
   <div class="page-wrap">
     <div class="side-bar">
-      <a href="{{ site.url }}{{ site.baseurl }}" class="site-title fs-6 lh-tight">{{ site.title }}</a>
+      <a href="{{ site.baseurl }}/" class="site-title fs-6 lh-tight">{{ site.title }}</a>
       <span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span>
       <nav role="navigation" aria-label="Main navigation" class="navigation-wrapper">
         <div class="navigation main-nav js-main-nav">
diff --git a/_sass/code.scss b/_sass/code.scss
index e8989f31dc038bb40d69fa094cd0aba58d32486b..31a4842cd4b5a325f815089d9b3c415671d12b0c 100644
--- a/_sass/code.scss
+++ b/_sass/code.scss
@@ -11,7 +11,8 @@ code {
   border-radius: $border-radius;
 }
 
-pre.highlight {
+pre.highlight,
+figure.highlight {
   padding: $sp-3;
   margin-bottom: 0;
   -webkit-overflow-scrolling: touch;
@@ -61,7 +62,7 @@ pre.highlight {
 .highlight .ld { color: #93a1a1; } // literal.date //
 .highlight .m { color: #2aa198; } // literal.number //
 .highlight .s { color: #2aa198; } // literal.string //
-.highlight .na { color: #93a1a1; } // name.attribute //
+.highlight .na { color: #555; } // name.attribute //
 .highlight .nb { color: #b58900; } // name.builtin //
 .highlight .nc { color: #268bd2; } // name.class //
 .highlight .no { color: #cb4b16; } // name.constant //
@@ -69,7 +70,7 @@ pre.highlight {
 .highlight .ni { color: #cb4b16; } // name.entity //
 .highlight .ne { color: #cb4b16; } // name.exception //
 .highlight .nf { color: #268bd2; } // name.function //
-.highlight .nl { color: #93a1a1; } // name.label //
+.highlight .nl { color: #555; } // name.label //
 .highlight .nn { color: #93a1a1; } // name.namespace //
 .highlight .nx { color: #555; } // name.other //
 .highlight .py { color: #93a1a1; } // name.property //