diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
index 491d8a6..71254a1 100644
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
@@ -1 +1 @@
-I"ž{"source"=>"/home/cambonator/Programming/jessecambon.github.io", "destination"=>"/home/cambonator/Programming/jessecambon.github.io/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/:categories/:year/:month/:day/:title:output_ext"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>["README.md", "Gemfile", "Gemfile.lock", "LICENSE.md", "*.Rmd", "*.Rproj", "rmd_config.R", ".sass-cache", ".jekyll-cache", "gemfiles", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>["jekyll-feed", "jekyll-seo-tag"], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"", "show_dir_listing"=>false, "permalink"=>"date", "paginate_path"=>"/page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>"1..6", "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false}, "title"=>"jessecambon", "author"=>"Jesse Cambon", "email"=>"jesse.cambon@gmail.com", "description"=>"Open source data science", "url"=>"https://jessecambon.github.io", "github_username"=>"jessecambon", "linkedin_username"=>"jessecambon", "header_pages"=>["about.md"], "theme"=>"minima", "show_excerpts"=>true, "disqus"=>{"shortname"=>"jessecambon"}, "serving"=>false}:ET
\ No newline at end of file
+I"ű{"source"=>"/home/cambonator/Programming/jessecambon.github.io", "destination"=>"/home/cambonator/Programming/jessecambon.github.io/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/:categories/:year/:month/:day/:title:output_ext"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>["README.md", "Gemfile", "Gemfile.lock", "LICENSE.md", "*.Rmd", "*.Rproj", "rmd_config.R", ".sass-cache", ".jekyll-cache", "gemfiles", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>["jekyll-feed", "jekyll-seo-tag"], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"", "show_dir_listing"=>false, "permalink"=>"date", "paginate_path"=>"/page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>"1..6", "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false}, "title"=>"Jesse Cambon", "author"=>{"name"=>"Jesse Cambon", "email"=>"jesse.cambon@gmail.com"}, "description"=>"Musings on data and open source software", "url"=>"https://jessecambon.github.io", "header_pages"=>["about.md"], "minima"=>{"date_format"=>"%b %-d %Y", "social_links"=>{"github"=>"jessecambon", "twitter"=>"JesseCambon", "linkedin"=>"jessecambon"}}, "theme"=>"minima", "show_excerpts"=>true, "disqus"=>{"shortname"=>"jessecambon"}, "serving"=>false}:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/65/50626330af5dbb5cb5d6db10d2df4fff0839907b87184a41a84672621e1f75 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/65/50626330af5dbb5cb5d6db10d2df4fff0839907b87184a41a84672621e1f75
deleted file mode 100644
index 00aff7b..0000000
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/65/50626330af5dbb5cb5d6db10d2df4fff0839907b87184a41a84672621e1f75
+++ /dev/null
@@ -1,2 +0,0 @@
-I"%
Open source data science
-:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/239fecf353ca78b33a42127113b6ea77a17683c939c4013565d18ac64b55ae b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/239fecf353ca78b33a42127113b6ea77a17683c939c4013565d18ac64b55ae
new file mode 100644
index 0000000..757920f
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/239fecf353ca78b33a42127113b6ea77a17683c939c4013565d18ac64b55ae
@@ -0,0 +1,2 @@
+I"5Musings on data and open source software
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/d18f0439e85db7f915bf756b6a46c9326d21f9c3371cd86ee95dce375efb2d b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/d18f0439e85db7f915bf756b6a46c9326d21f9c3371cd86ee95dce375efb2d
new file mode 100644
index 0000000..9cec1fd
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/d18f0439e85db7f915bf756b6a46c9326d21f9c3371cd86ee95dce375efb2d
@@ -0,0 +1,2 @@
+I"Jesse Cambon
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/db/6c9417eb4aa039d2acfc14f0be4b87ffbce1002a0271c8c2c6e2df764d6e77 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/db/6c9417eb4aa039d2acfc14f0be4b87ffbce1002a0271c8c2c6e2df764d6e77
deleted file mode 100644
index f01653b..0000000
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/db/6c9417eb4aa039d2acfc14f0be4b87ffbce1002a0271c8c2c6e2df764d6e77
+++ /dev/null
@@ -1,2 +0,0 @@
-I"jessecambon
-:ET
\ No newline at end of file
diff --git a/Gemfile.lock b/Gemfile.lock
index f7a8758..24fe4c4 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -14,7 +14,7 @@ GEM
http_parser.rb (0.6.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
- jekyll (4.0.0)
+ jekyll (4.0.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@@ -52,12 +52,12 @@ GEM
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
- public_suffix (4.0.4)
- rb-fsevent (0.10.3)
+ public_suffix (4.0.5)
+ rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.4)
- rouge (3.18.0)
+ rouge (3.19.0)
safe_yaml (1.0.5)
sassc (2.3.0)
ffi (~> 1.9)
diff --git a/_config.yml b/_config.yml
index 38371c2..b919bed 100644
--- a/_config.yml
+++ b/_config.yml
@@ -13,15 +13,18 @@
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
-title: jessecambon
-author: Jesse Cambon
-email: jesse.cambon@gmail.com
-description: Open source data science
+title: Jesse Cambon
+
+author:
+ name: Jesse Cambon
+ email: jesse.cambon@gmail.com
+
+description: Musings on data and open source software
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://jessecambon.github.io" # the base hostname & protocol for your site, e.g. http://example.com
-#twitter_username: jekyllrb
-github_username: jessecambon
-linkedin_username: jessecambon
+#github_username: jessecambon
+#linkedin_username: jessecambon
+#twitter_username: JesseCambon
header_pages:
- about.md
@@ -30,8 +33,16 @@ header_pages:
# Build settings
markdown: kramdown
-
+minima:
+ date_format: "%b %-d %Y"
+
+ social_links:
+ github: jessecambon
+ twitter: JesseCambon
+ linkedin: jessecambon
+
theme: minima
+
plugins:
- jekyll-feed
- jekyll-seo-tag
diff --git a/_includes/custom-head.html b/_includes/custom-head.html
new file mode 100644
index 0000000..8559a67
--- /dev/null
+++ b/_includes/custom-head.html
@@ -0,0 +1,6 @@
+{% comment %}
+ Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons:
+
+ 1. Head over to https://realfavicongenerator.net/ to add your own favicons.
+ 2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
+{% endcomment %}
diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html
new file mode 100644
index 0000000..d9400f2
--- /dev/null
+++ b/_includes/disqus_comments.html
@@ -0,0 +1,20 @@
+{%- if page.comments != false and jekyll.environment == "production" -%}
+
+
+
+ Please enable JavaScript to view the comments powered by Disqus.
+{%- endif -%}
diff --git a/_includes/footer.html b/_includes/footer.html
index 33411d0..83edfc7 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -1,8 +1,37 @@
\ No newline at end of file
+
+
+
+
diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html
new file mode 100644
index 0000000..aeba1a1
--- /dev/null
+++ b/_includes/google-analytics.html
@@ -0,0 +1,9 @@
+
+
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..9ee139f
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,14 @@
+
+
+
+
+ {%- seo -%}
+
+ {%- feed_meta -%}
+ {%- if jekyll.environment == 'production' and site.google_analytics -%}
+ {%- include google-analytics.html -%}
+ {%- endif -%}
+
+ {%- include custom-head.html -%}
+
+
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..ed5a382
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,31 @@
+
diff --git a/_includes/social.html b/_includes/social.html
new file mode 100644
index 0000000..1d33db8
--- /dev/null
+++ b/_includes/social.html
@@ -0,0 +1,21 @@
+{%- assign social = site.minima.social_links -%}
+
+
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..58e141b
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,20 @@
+
+
+
+ {%- include head.html -%}
+
+
+
+ {%- include header.html -%}
+
+
+
+ {{ content }}
+
+
+
+ {%- include footer.html -%}
+
+
+
+
diff --git a/_layouts/home.html b/_layouts/home.html
new file mode 100644
index 0000000..622b5e1
--- /dev/null
+++ b/_layouts/home.html
@@ -0,0 +1,61 @@
+---
+layout: default
+---
+
+
+ {%- if page.title -%}
+
{{ page.title }}
+ {%- endif -%}
+
+ {{ content }}
+
+
+ {% if site.paginate %}
+ {% assign posts = paginator.posts %}
+ {% else %}
+ {% assign posts = site.posts %}
+ {% endif %}
+
+
+ {%- if posts.size > 0 -%}
+ {%- if page.list_title -%}
+
{{ page.list_title }}
+ {%- endif -%}
+
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
+ {%- for post in posts -%}
+
+ {{ post.date | date: date_format }}
+
+ {%- if site.show_excerpts -%}
+ {{ post.excerpt }}
+ {%- endif -%}
+
+ {%- endfor -%}
+
+
+ {% if site.paginate %}
+
+ {%- endif %}
+
+ {%- endif -%}
+
+
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..01e4b2a
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,14 @@
+---
+layout: default
+---
+
+
+
+
+
+ {{ content }}
+
+
+
diff --git a/_layouts/post.html b/_layouts/post.html
new file mode 100644
index 0000000..c9a03be
--- /dev/null
+++ b/_layouts/post.html
@@ -0,0 +1,38 @@
+---
+layout: default
+---
+
+
+
+
+
+ {{ content }}
+
+
+ {%- if site.disqus.shortname -%}
+ {%- include disqus_comments.html -%}
+ {%- endif -%}
+
+
+
diff --git a/_sass/minima.scss b/_sass/minima.scss
deleted file mode 100644
index cb0865b..0000000
--- a/_sass/minima.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-@charset "utf-8";
-
-// Define defaults for each variable.
-
-$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
-$base-font-size: 16px !default;
-$base-font-weight: 400 !default;
-$small-font-size: $base-font-size * 0.875 !default;
-$base-line-height: 1.5 !default;
-
-$spacing-unit: 30px !default;
-
-$text-color: #111 !default;
-$background-color: #fdfdfd !default;
-$brand-color: #2a7ae2 !default;
-
-$grey-color: #828282 !default;
-$grey-color-light: lighten($grey-color, 40%) !default;
-$grey-color-dark: darken($grey-color, 25%) !default;
-
-$table-text-align: left !default;
-
-// Width of the content area
-$content-width: 800px !default;
-
-$on-palm: 600px !default;
-$on-laptop: 800px !default;
-
-// Use media queries like this:
-// @include media-query($on-palm) {
-// .wrapper {
-// padding-right: $spacing-unit / 2;
-// padding-left: $spacing-unit / 2;
-// }
-// }
-@mixin media-query($device) {
- @media screen and (max-width: $device) {
- @content;
- }
-}
-
-@mixin relative-font-size($ratio) {
- font-size: $base-font-size * $ratio;
-}
-
-// Import partials.
-@import
- "minima/base",
- "minima/layout",
- "minima/syntax-highlighting"
-;
diff --git a/_sass/minima/_base.scss b/_sass/minima/_base.scss
index 3e267b9..a6f104e 100644
--- a/_sass/minima/_base.scss
+++ b/_sass/minima/_base.scss
@@ -1,3 +1,7 @@
+html {
+ font-size: $base-font-size;
+}
+
/**
* Reset some basic elements
*/
@@ -6,6 +10,7 @@ p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
margin: 0;
padding: 0;
+
}
@@ -26,6 +31,7 @@ body {
display: flex;
min-height: 100vh;
flex-direction: column;
+ overflow-wrap: break-word;
}
@@ -40,7 +46,10 @@ ul, ol, dl, figure,
margin-bottom: $spacing-unit / 2;
}
-
+hr {
+ margin-top: $spacing-unit;
+ margin-bottom: $spacing-unit;
+}
/**
* `main` element
@@ -103,15 +112,15 @@ h1, h2, h3, h4, h5, h6 {
* Links
*/
a {
- color: $brand-color;
+ color: $link-base-color;
text-decoration: none;
&:visited {
- color: darken($brand-color, 15%);
+ color: $link-visited-color;
}
&:hover {
- color: $text-color;
+ color: $link-hover-color;
text-decoration: underline;
}
@@ -129,16 +138,19 @@ a {
* Blockquotes
*/
blockquote {
- color: $grey-color;
- border-left: 4px solid $grey-color-light;
+ color: $brand-color;
+ border-left: 4px solid $border-color-01;
padding-left: $spacing-unit / 2;
@include relative-font-size(1.125);
- letter-spacing: -1px;
font-style: italic;
> :last-child {
margin-bottom: 0;
}
+
+ i, em {
+ font-style: normal;
+ }
}
@@ -148,10 +160,11 @@ blockquote {
*/
pre,
code {
- @include relative-font-size(0.85);
- border: 1px solid $grey-color-light;
+ font-family: $code-font-family;
+ font-size: 0.9375em;
+ border: 1px solid $border-color-01;
border-radius: 3px;
- background-color: #eef;
+ background-color: $code-background-color;
}
code {
@@ -169,25 +182,33 @@ pre {
}
}
+.highlight {
+ border-radius: 3px;
+ background: $code-background-color;
+ @extend %vertical-rhythm;
+
+ .highlighter-rouge & {
+ background: $code-background-color;
+ }
+}
+
/**
* Wrapper
*/
.wrapper {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
- max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
+ max-width: calc(#{$content-width} - (#{$spacing-unit}));
margin-right: auto;
margin-left: auto;
- padding-right: $spacing-unit;
- padding-left: $spacing-unit;
+ padding-right: $spacing-unit / 2;
+ padding-left: $spacing-unit / 2;
@extend %clearfix;
- @include media-query($on-laptop) {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
- max-width: calc(#{$content-width} - (#{$spacing-unit}));
- padding-right: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
+ @media screen and (min-width: $on-large) {
+ max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
+ padding-right: $spacing-unit;
+ padding-left: $spacing-unit;
}
}
@@ -208,48 +229,54 @@ pre {
* Icons
*/
-.svg-icon {
- width: 16px;
- height: 16px;
- display: inline-block;
- fill: #{$grey-color};
- padding-right: 5px;
- vertical-align: text-top;
+.orange {
+ color: #f66a0a;
}
-.social-media-list {
- li + li {
- padding-top: 5px;
- }
+.grey {
+ color: #828282;
}
+.svg-icon {
+ width: 16px;
+ height: 16px;
+ display: inline-block;
+ fill: currentColor;
+ padding: 5px 3px 2px 5px;
+ vertical-align: text-bottom;
+}
/**
* Tables
*/
table {
- @include relative-font-size(0.85); /* JAC - Added */
margin-bottom: $spacing-unit;
width: 100%;
text-align: $table-text-align;
- color: lighten($text-color, 18%);
+ color: $table-text-color;
border-collapse: collapse;
- border: 1px solid $grey-color-light;
+ border: 1px solid $table-border-color;
tr {
&:nth-child(even) {
- background-color: lighten($grey-color-light, 6%);
+ background-color: $table-zebra-color;
}
}
th, td {
padding: ($spacing-unit / 3) ($spacing-unit / 2);
}
th {
- background-color: lighten($grey-color-light, 3%);
- border: 1px solid darken($grey-color-light, 4%);
- border-bottom-color: darken($grey-color-light, 12%);
+ background-color: $table-header-bg-color;
+ border: 1px solid $table-header-border;
}
td {
- border: 1px solid $grey-color-light;
+ border: 1px solid $table-border-color;
+ }
+
+ @include media-query($on-laptop) {
+ display: block;
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
}
}
diff --git a/_sass/minima/_layout.scss b/_sass/minima/_layout.scss
index c69af11..40d2cd1 100644
--- a/_sass/minima/_layout.scss
+++ b/_sass/minima/_layout.scss
@@ -2,9 +2,10 @@
* Site header
*/
.site-header {
- border-top: 5px solid $grey-color-dark;
- border-bottom: 1px solid $grey-color-light;
+ border-top: 5px solid $border-color-03;
+ border-bottom: 1px solid $border-color-01;
min-height: $spacing-unit * 1.865;
+ line-height: $base-line-height * $base-font-size * 2.25;
// Positioning context for the mobile navigation icon
position: relative;
@@ -13,89 +14,104 @@
.site-title {
@include relative-font-size(1.625);
font-weight: 300;
- line-height: $base-line-height * $base-font-size * 2.25;
letter-spacing: -1px;
margin-bottom: 0;
float: left;
+ @include media-query($on-palm) {
+ padding-right: 45px;
+ }
+
&,
&:visited {
- color: $grey-color-dark;
+ color: $site-title-color;
}
}
.site-nav {
- float: right;
- line-height: $base-line-height * $base-font-size * 2.25;
+ position: absolute;
+ top: 9px;
+ right: $spacing-unit / 2;
+ background-color: $background-color;
+ border: 1px solid $border-color-01;
+ border-radius: 5px;
+ text-align: right;
.nav-trigger {
- display: none;
+ display: none;
}
.menu-icon {
+ float: right;
+ width: 36px;
+ height: 26px;
+ line-height: 0;
+ padding-top: 10px;
+ text-align: center;
+
+ > svg path {
+ fill: $border-color-03;
+ }
+ }
+
+ label[for="nav-trigger"] {
+ display: block;
+ float: right;
+ width: 36px;
+ height: 36px;
+ z-index: 2;
+ cursor: pointer;
+ }
+
+ input ~ .trigger {
+ clear: both;
display: none;
}
+ input:checked ~ .trigger {
+ display: block;
+ padding-bottom: 5px;
+ }
+
.page-link {
color: $text-color;
line-height: $base-line-height;
+ display: block;
+ padding: 5px 10px;
// Gaps between nav items, but not on the last one
&:not(:last-child) {
- margin-right: 20px;
+ margin-right: 0;
}
+ margin-left: 20px;
}
- @include media-query($on-palm) {
- position: absolute;
- top: 9px;
- right: $spacing-unit / 2;
- background-color: $background-color;
- border: 1px solid $grey-color-light;
- border-radius: 5px;
- text-align: right;
+ @media screen and (min-width: $on-medium) {
+ position: static;
+ float: right;
+ border: none;
+ background-color: inherit;
label[for="nav-trigger"] {
- display: block;
- float: right;
- width: 36px;
- height: 36px;
- z-index: 2;
- cursor: pointer;
+ display: none;
}
.menu-icon {
- display: block;
- float: right;
- width: 36px;
- height: 26px;
- line-height: 0;
- padding-top: 10px;
- text-align: center;
-
- > svg {
- fill: $grey-color-dark;
- }
- }
-
- input ~ .trigger {
- clear: both;
display: none;
}
- input:checked ~ .trigger {
+ input ~ .trigger {
display: block;
- padding-bottom: 5px;
}
.page-link {
- display: block;
- padding: 5px 10px;
+ display: inline;
+ padding: 0;
&:not(:last-child) {
- margin-right: 0;
+ margin-right: 20px;
}
- margin-left: 20px;
+ margin-left: auto;
}
}
}
@@ -106,7 +122,7 @@
* Site footer
*/
.site-footer {
- border-top: 1px solid $grey-color-light;
+ border-top: 1px solid $border-color-01;
padding: $spacing-unit 0;
}
@@ -115,58 +131,67 @@
margin-bottom: $spacing-unit / 2;
}
+.feed-subscribe .svg-icon {
+ padding: 5px 5px 2px 0
+}
+
.contact-list,
.social-media-list {
list-style: none;
margin-left: 0;
}
-.footer-col-wrapper {
+.footer-col-wrapper,
+.social-links {
@include relative-font-size(0.9375);
- color: $grey-color;
- margin-left: -$spacing-unit / 2;
- @extend %clearfix;
+ color: $brand-color;
}
.footer-col {
- float: left;
margin-bottom: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
-}
-
-.footer-col-1 {
- width: -webkit-calc(35% - (#{$spacing-unit} / 2));
- width: calc(35% - (#{$spacing-unit} / 2));
}
+.footer-col-1,
.footer-col-2 {
- width: -webkit-calc(20% - (#{$spacing-unit} / 2));
- width: calc(20% - (#{$spacing-unit} / 2));
+ width: calc(50% - (#{$spacing-unit} / 2));
}
.footer-col-3 {
- width: -webkit-calc(45% - (#{$spacing-unit} / 2));
- width: calc(45% - (#{$spacing-unit} / 2));
+ width: calc(100% - (#{$spacing-unit} / 2));
}
-@include media-query($on-laptop) {
- .footer-col-1,
+@media screen and (min-width: $on-large) {
+ .footer-col-1 {
+ width: calc(35% - (#{$spacing-unit} / 2));
+ }
+
.footer-col-2 {
- width: -webkit-calc(50% - (#{$spacing-unit} / 2));
- width: calc(50% - (#{$spacing-unit} / 2));
+ width: calc(20% - (#{$spacing-unit} / 2));
}
.footer-col-3 {
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
+ width: calc(45% - (#{$spacing-unit} / 2));
}
}
-@include media-query($on-palm) {
+@media screen and (min-width: $on-medium) {
+ .footer-col-wrapper {
+ display: flex
+ }
+
.footer-col {
- float: none;
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
+ width: calc(100% - (#{$spacing-unit} / 2));
+ padding: 0 ($spacing-unit / 2);
+
+ &:first-child {
+ padding-right: $spacing-unit / 2;
+ padding-left: 0;
+ }
+
+ &:last-child {
+ padding-right: 0;
+ padding-left: $spacing-unit / 2;
+ }
}
}
@@ -177,7 +202,7 @@
*/
.page-content {
padding: $spacing-unit 0;
- flex: 1;
+ flex: 1 0 auto;
}
.page-heading {
@@ -199,7 +224,7 @@
.post-meta {
font-size: $small-font-size;
- color: $grey-color;
+ color: $brand-color;
}
.post-link {
@@ -216,40 +241,102 @@
margin-bottom: $spacing-unit;
}
-.post-title {
+.post-title,
+.post-content h1 {
@include relative-font-size(2.625);
letter-spacing: -1px;
- line-height: 1;
+ line-height: 1.15;
- @include media-query($on-laptop) {
- @include relative-font-size(2.25);
+ @media screen and (min-width: $on-large) {
+ @include relative-font-size(2.625);
}
}
.post-content {
margin-bottom: $spacing-unit;
+ h1, h2, h3 { margin-top: $spacing-unit * 2 }
+ h4, h5, h6 { margin-top: $spacing-unit }
+
h2 {
- @include relative-font-size(2);
+ @include relative-font-size(1.75);
- @include media-query($on-laptop) {
- @include relative-font-size(1.75);
+ @media screen and (min-width: $on-large) {
+ @include relative-font-size(2);
}
}
h3 {
- @include relative-font-size(1.625);
+ @include relative-font-size(1.375);
- @include media-query($on-laptop) {
- @include relative-font-size(1.375);
+ @media screen and (min-width: $on-large) {
+ @include relative-font-size(1.625);
}
}
h4 {
@include relative-font-size(1.25);
+ }
+
+ h5 {
+ @include relative-font-size(1.125);
+ }
+ h6 {
+ @include relative-font-size(1.0625);
+ }
+}
+
- @include media-query($on-laptop) {
- @include relative-font-size(1.125);
+.social-media-list {
+ display: table;
+ margin: 0 auto;
+ li {
+ float: left;
+ margin: 5px 10px 5px 0;
+ &:last-of-type { margin-right: 0 }
+ a {
+ display: block;
+ padding: $spacing-unit / 4;
+ border: 1px solid $border-color-01;
+ &:hover { border-color: $border-color-02 }
}
}
}
+
+
+
+/**
+ * Pagination navbar
+ */
+.pagination {
+ margin-bottom: $spacing-unit;
+ @extend .social-media-list;
+ li {
+ a, div {
+ min-width: 41px;
+ text-align: center;
+ box-sizing: border-box;
+ }
+ div {
+ display: block;
+ padding: $spacing-unit / 4;
+ border: 1px solid transparent;
+
+ &.pager-edge {
+ color: $border-color-01;
+ border: 1px dashed;
+ }
+ }
+ }
+}
+
+
+
+/**
+ * Grid helpers
+ */
+@media screen and (min-width: $on-large) {
+ .one-half {
+ width: calc(50% - (#{$spacing-unit} / 2));
+ }
+}
diff --git a/_sass/minima/custom-styles.scss b/_sass/minima/custom-styles.scss
new file mode 100644
index 0000000..7c1417f
--- /dev/null
+++ b/_sass/minima/custom-styles.scss
@@ -0,0 +1,2 @@
+// Placeholder to allow defining custom styles that override everything else.
+// (Use `_sass/minima/custom-variables.scss` to override variable defaults)
diff --git a/_sass/minima/custom-variables.scss b/_sass/minima/custom-variables.scss
new file mode 100644
index 0000000..2a2d0fa
--- /dev/null
+++ b/_sass/minima/custom-variables.scss
@@ -0,0 +1 @@
+// Placeholder to allow overriding predefined variables smoothly.
diff --git a/_sass/minima/initialize.scss b/_sass/minima/initialize.scss
new file mode 100644
index 0000000..b7f5eda
--- /dev/null
+++ b/_sass/minima/initialize.scss
@@ -0,0 +1,50 @@
+@charset "utf-8";
+
+// Define defaults for each variable.
+
+$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Symbol", "Segoe UI Emoji", "Apple Color Emoji", Roboto, Helvetica, Arial, sans-serif !default;
+$code-font-family: "Menlo", "Inconsolata", "Consolas", "Roboto Mono", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;
+$base-font-size: 16px !default;
+$base-font-weight: 400 !default;
+$small-font-size: $base-font-size * 0.875 !default;
+$base-line-height: 1.5 !default;
+
+$spacing-unit: 30px !default;
+
+$table-text-align: left !default;
+
+// Width of the content area
+$content-width: 800px !default;
+
+$on-palm: 600px !default;
+$on-laptop: 800px !default;
+
+$on-medium: $on-palm !default;
+$on-large: $on-laptop !default;
+
+// Use media queries like this:
+// @include media-query($on-palm) {
+// .wrapper {
+// padding-right: $spacing-unit / 2;
+// padding-left: $spacing-unit / 2;
+// }
+// }
+// Notice the following mixin uses max-width, in a deprecated, desktop-first
+// approach, whereas media queries used elsewhere now use min-width.
+@mixin media-query($device) {
+ @media screen and (max-width: $device) {
+ @content;
+ }
+}
+
+@mixin relative-font-size($ratio) {
+ font-size: #{$ratio}rem;
+}
+
+// Import pre-styling-overrides hook and style-partials.
+@import
+ "minima/custom-variables", // Hook to override predefined variables.
+ "minima/base", // Defines element resets.
+ "minima/layout", // Defines structure and style based on CSS selectors.
+ "minima/custom-styles" // Hook to override existing styles.
+;
diff --git a/_sass/minima/_syntax-highlighting.scss b/_sass/minima/skins/classic.scss
similarity index 73%
rename from _sass/minima/_syntax-highlighting.scss
rename to _sass/minima/skins/classic.scss
index bccdb89..c6dc292 100644
--- a/_sass/minima/_syntax-highlighting.scss
+++ b/_sass/minima/skins/classic.scss
@@ -1,14 +1,34 @@
-/**
- * Syntax highlighting styles
- */
-.highlight {
- background: #fff;
- @extend %vertical-rhythm;
+@charset "utf-8";
+
+$brand-color: #828282 !default;
+$brand-color-light: lighten($brand-color, 40%) !default;
+$brand-color-dark: darken($brand-color, 25%) !default;
+
+$site-title-color: $brand-color-dark !default;
+
+$text-color: #111111 !default;
+$background-color: #fdfdfd !default;
+$code-background-color: #eeeeff !default;
+
+$link-base-color: #2a7ae2 !default;
+$link-visited-color: darken($link-base-color, 15%) !default;
+$link-hover-color: $text-color !default;
- .highlighter-rouge & {
- background: #eef;
- }
+$border-color-01: $brand-color-light !default;
+$border-color-02: lighten($brand-color, 35%) !default;
+$border-color-03: $brand-color-dark !default;
+$table-text-color: lighten($text-color, 18%) !default;
+$table-zebra-color: lighten($brand-color, 46%) !default;
+$table-header-bg-color: lighten($brand-color, 43%) !default;
+$table-header-border: lighten($brand-color, 37%) !default;
+$table-border-color: $border-color-01 !default;
+
+
+// Syntax highlighting styles should be adjusted appropriately for every "skin"
+// ----------------------------------------------------------------------------
+
+.highlight {
.c { color: #998; font-style: italic } // Comment
.err { color: #a61717; background-color: #e3d2d2 } // Error
.k { font-weight: bold } // Keyword
diff --git a/_sass/minima/skins/dark.scss b/_sass/minima/skins/dark.scss
new file mode 100644
index 0000000..39b893f
--- /dev/null
+++ b/_sass/minima/skins/dark.scss
@@ -0,0 +1,95 @@
+@charset "utf-8";
+
+$brand-color: #999999 !default;
+$brand-color-light: lighten($brand-color, 5%) !default;
+$brand-color-dark: darken($brand-color, 35%) !default;
+
+$site-title-color: $brand-color-light !default;
+
+$text-color: #bbbbbb !default;
+$background-color: #181818 !default;
+$code-background-color: #212121 !default;
+
+$link-base-color: #79b8ff !default;
+$link-visited-color: $link-base-color !default;
+$link-hover-color: $text-color !default;
+
+$border-color-01: $brand-color-dark !default;
+$border-color-02: $brand-color-light !default;
+$border-color-03: $brand-color !default;
+
+$table-text-color: $text-color !default;
+$table-zebra-color: lighten($background-color, 4%) !default;
+$table-header-bg-color: lighten($background-color, 10%) !default;
+$table-header-border: lighten($background-color, 21%) !default;
+$table-border-color: $border-color-01 !default;
+
+
+// Syntax highlighting styles should be adjusted appropriately for every "skin"
+// List of tokens: https://github.com/rouge-ruby/rouge/wiki/List-of-tokens
+// Some colors come from Material Theme Darker:
+// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/settings/specific/darker-hc.ts
+// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/color-set.ts
+// ----------------------------------------------------------------------------
+
+.highlight {
+ .c { color: #545454; font-style: italic } // Comment
+ .err { color: #f07178; background-color: #e3d2d2 } // Error
+ .k { color: #89DDFF; font-weight: bold } // Keyword
+ .o { font-weight: bold } // Operator
+ .cm { color: #545454; font-style: italic } // Comment.Multiline
+ .cp { color: #545454; font-weight: bold } // Comment.Preproc
+ .c1 { color: #545454; font-style: italic } // Comment.Single
+ .cs { color: #545454; font-weight: bold; font-style: italic } // Comment.Special
+ .gd { color: #000; background-color: #fdd } // Generic.Deleted
+ .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
+ .ge { font-style: italic } // Generic.Emph
+ .gr { color: #f07178 } // Generic.Error
+ .gh { color: #999 } // Generic.Heading
+ .gi { color: #000; background-color: #dfd } // Generic.Inserted
+ .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
+ .go { color: #888 } // Generic.Output
+ .gp { color: #555 } // Generic.Prompt
+ .gs { font-weight: bold } // Generic.Strong
+ .gu { color: #aaa } // Generic.Subheading
+ .gt { color: #f07178 } // Generic.Traceback
+ .kc { font-weight: bold } // Keyword.Constant
+ .kd { font-weight: bold } // Keyword.Declaration
+ .kp { font-weight: bold } // Keyword.Pseudo
+ .kr { font-weight: bold } // Keyword.Reserved
+ .kt { color: #FFCB6B; font-weight: bold } // Keyword.Type
+ .m { color: #F78C6C } // Literal.Number
+ .s { color: #C3E88D } // Literal.String
+ .na { color: #008080 } // Name.Attribute
+ .nb { color: #EEFFFF } // Name.Builtin
+ .nc { color: #FFCB6B; font-weight: bold } // Name.Class
+ .no { color: #008080 } // Name.Constant
+ .ni { color: #800080 } // Name.Entity
+ .ne { color: #900; font-weight: bold } // Name.Exception
+ .nf { color: #82AAFF; font-weight: bold } // Name.Function
+ .nn { color: #555 } // Name.Namespace
+ .nt { color: #FFCB6B } // Name.Tag
+ .nv { color: #EEFFFF } // Name.Variable
+ .ow { font-weight: bold } // Operator.Word
+ .w { color: #EEFFFF } // Text.Whitespace
+ .mf { color: #F78C6C } // Literal.Number.Float
+ .mh { color: #F78C6C } // Literal.Number.Hex
+ .mi { color: #F78C6C } // Literal.Number.Integer
+ .mo { color: #F78C6C } // Literal.Number.Oct
+ .sb { color: #C3E88D } // Literal.String.Backtick
+ .sc { color: #C3E88D } // Literal.String.Char
+ .sd { color: #C3E88D } // Literal.String.Doc
+ .s2 { color: #C3E88D } // Literal.String.Double
+ .se { color: #EEFFFF } // Literal.String.Escape
+ .sh { color: #C3E88D } // Literal.String.Heredoc
+ .si { color: #C3E88D } // Literal.String.Interpol
+ .sx { color: #C3E88D } // Literal.String.Other
+ .sr { color: #C3E88D } // Literal.String.Regex
+ .s1 { color: #C3E88D } // Literal.String.Single
+ .ss { color: #C3E88D } // Literal.String.Symbol
+ .bp { color: #999 } // Name.Builtin.Pseudo
+ .vc { color: #FFCB6B } // Name.Variable.Class
+ .vg { color: #EEFFFF } // Name.Variable.Global
+ .vi { color: #EEFFFF } // Name.Variable.Instance
+ .il { color: #F78C6C } // Literal.Number.Integer.Long
+}
diff --git a/_sass/minima/skins/solarized-dark.scss b/_sass/minima/skins/solarized-dark.scss
new file mode 100644
index 0000000..f3b1f38
--- /dev/null
+++ b/_sass/minima/skins/solarized-dark.scss
@@ -0,0 +1,4 @@
+@charset "utf-8";
+
+$sol-is-dark: true;
+@import "minima/skins/solarized";
diff --git a/_sass/minima/skins/solarized.scss b/_sass/minima/skins/solarized.scss
new file mode 100644
index 0000000..6253d69
--- /dev/null
+++ b/_sass/minima/skins/solarized.scss
@@ -0,0 +1,140 @@
+@charset "utf-8";
+
+// Solarized skin
+// ==============
+// Created by Sander Voerman using the Solarized
+// color scheme by Ethan Schoonover .
+
+// This style sheet implements two options for the minima.skin setting:
+// "solarized" for light mode and "solarized-dark" for dark mode.
+$sol-is-dark: false !default;
+
+
+// Color scheme
+// ------------
+// The inline comments show the canonical L*a*b values for each color.
+
+$sol-base03: #002b36; // 15 -12 -12
+$sol-base02: #073642; // 20 -12 -12
+$sol-base01: #586e75; // 45 -07 -07
+$sol-base00: #657b83; // 50 -07 -07
+$sol-base0: #839496; // 60 -06 -03
+$sol-base1: #93a1a1; // 65 -05 -02
+$sol-base2: #eee8d5; // 92 -00 10
+$sol-base3: #fdf6e3; // 97 00 10
+$sol-yellow: #b58900; // 60 10 65
+$sol-orange: #cb4b16; // 50 50 55
+$sol-red: #dc322f; // 50 65 45
+$sol-magenta: #d33682; // 50 65 -05
+$sol-violet: #6c71c4; // 50 15 -45
+$sol-blue: #268bd2; // 55 -10 -45
+$sol-cyan: #2aa198; // 60 -35 -05
+$sol-green: #859900; // 60 -20 65
+
+$sol-mono3: $sol-base3;
+$sol-mono2: $sol-base2;
+$sol-mono1: $sol-base1;
+$sol-mono00: $sol-base00;
+$sol-mono01: $sol-base01;
+
+@if $sol-is-dark {
+ $sol-mono3: $sol-base03;
+ $sol-mono2: $sol-base02;
+ $sol-mono1: $sol-base01;
+ $sol-mono00: $sol-base0;
+ $sol-mono01: $sol-base1;
+}
+
+
+// Minima color variables
+// ----------------------
+
+$brand-color: $sol-mono1 !default;
+$brand-color-light: mix($sol-mono1, $sol-mono3) !default;
+$brand-color-dark: $sol-mono00 !default;
+
+$site-title-color: $sol-mono00 !default;
+
+$text-color: $sol-mono01 !default;
+$background-color: $sol-mono3 !default;
+$code-background-color: $sol-mono2 !default;
+
+$link-base-color: $sol-blue !default;
+$link-visited-color: mix($sol-blue, $sol-mono00) !default;
+$link-hover-color: $sol-mono00 !default;
+
+$border-color-01: $brand-color-light !default;
+$border-color-02: $sol-mono1 !default;
+$border-color-03: $sol-mono00 !default;
+
+$table-text-color: $sol-mono00 !default;
+$table-zebra-color: mix($sol-mono2, $sol-mono3) !default;
+$table-header-bg-color: $sol-mono2 !default;
+$table-header-border: $sol-mono1 !default;
+$table-border-color: $sol-mono1 !default;
+
+
+// Syntax highlighting styles
+// --------------------------
+
+.highlight {
+ .c { color: $sol-mono1; font-style: italic } // Comment
+ .err { color: $sol-red } // Error
+ .k { color: $sol-mono01; font-weight: bold } // Keyword
+ .o { color: $sol-mono01; font-weight: bold } // Operator
+ .cm { color: $sol-mono1; font-style: italic } // Comment.Multiline
+ .cp { color: $sol-mono1; font-weight: bold } // Comment.Preproc
+ .c1 { color: $sol-mono1; font-style: italic } // Comment.Single
+ .cs { color: $sol-mono1; font-weight: bold; font-style: italic } // Comment.Special
+ .gd { color: $sol-red } // Generic.Deleted
+ .gd .x { color: $sol-red } // Generic.Deleted.Specific
+ .ge { color: $sol-mono00; font-style: italic } // Generic.Emph
+ .gr { color: $sol-red } // Generic.Error
+ .gh { color: $sol-mono1 } // Generic.Heading
+ .gi { color: $sol-green } // Generic.Inserted
+ .gi .x { color: $sol-green } // Generic.Inserted.Specific
+ .go { color: $sol-mono00 } // Generic.Output
+ .gp { color: $sol-mono00 } // Generic.Prompt
+ .gs { color: $sol-mono01; font-weight: bold } // Generic.Strong
+ .gu { color: $sol-mono1 } // Generic.Subheading
+ .gt { color: $sol-red } // Generic.Traceback
+ .kc { color: $sol-mono01; font-weight: bold } // Keyword.Constant
+ .kd { color: $sol-mono01; font-weight: bold } // Keyword.Declaration
+ .kp { color: $sol-mono01; font-weight: bold } // Keyword.Pseudo
+ .kr { color: $sol-mono01; font-weight: bold } // Keyword.Reserved
+ .kt { color: $sol-violet; font-weight: bold } // Keyword.Type
+ .m { color: $sol-cyan } // Literal.Number
+ .s { color: $sol-magenta } // Literal.String
+ .na { color: $sol-cyan } // Name.Attribute
+ .nb { color: $sol-blue } // Name.Builtin
+ .nc { color: $sol-violet; font-weight: bold } // Name.Class
+ .no { color: $sol-cyan } // Name.Constant
+ .ni { color: $sol-violet } // Name.Entity
+ .ne { color: $sol-violet; font-weight: bold } // Name.Exception
+ .nf { color: $sol-blue; font-weight: bold } // Name.Function
+ .nn { color: $sol-mono00 } // Name.Namespace
+ .nt { color: $sol-blue } // Name.Tag
+ .nv { color: $sol-cyan } // Name.Variable
+ .ow { color: $sol-mono01; font-weight: bold } // Operator.Word
+ .w { color: $sol-mono1 } // Text.Whitespace
+ .mf { color: $sol-cyan } // Literal.Number.Float
+ .mh { color: $sol-cyan } // Literal.Number.Hex
+ .mi { color: $sol-cyan } // Literal.Number.Integer
+ .mo { color: $sol-cyan } // Literal.Number.Oct
+ .sb { color: $sol-magenta } // Literal.String.Backtick
+ .sc { color: $sol-magenta } // Literal.String.Char
+ .sd { color: $sol-magenta } // Literal.String.Doc
+ .s2 { color: $sol-magenta } // Literal.String.Double
+ .se { color: $sol-magenta } // Literal.String.Escape
+ .sh { color: $sol-magenta } // Literal.String.Heredoc
+ .si { color: $sol-magenta } // Literal.String.Interpol
+ .sx { color: $sol-magenta } // Literal.String.Other
+ .sr { color: $sol-green } // Literal.String.Regex
+ .s1 { color: $sol-magenta } // Literal.String.Single
+ .ss { color: $sol-magenta } // Literal.String.Symbol
+ .bp { color: $sol-mono1 } // Name.Builtin.Pseudo
+ .vc { color: $sol-cyan } // Name.Variable.Class
+ .vg { color: $sol-cyan } // Name.Variable.Global
+ .vi { color: $sol-cyan } // Name.Variable.Instance
+ .il { color: $sol-cyan } // Literal.Number.Integer.Long
+}
diff --git a/_site/2019/11/11/tidygeocoder-demo.html b/_site/2019/11/11/tidygeocoder-demo.html
index 5976511..b8b6fbe 100644
--- a/_site/2019/11/11/tidygeocoder-demo.html
+++ b/_site/2019/11/11/tidygeocoder-demo.html
@@ -3,8 +3,8 @@
-Geocoding with Tidygeocoder | jessecambon
-
+Geocoding with Tidygeocoder | Jesse Cambon
+
@@ -12,16 +12,17 @@
-
+
+{"@type":"BlogPosting","url":"https://jessecambon.github.io/2019/11/11/tidygeocoder-demo.html","mainEntityOfPage":{"@type":"WebPage","@id":"https://jessecambon.github.io/2019/11/11/tidygeocoder-demo.html"},"author":{"@type":"Person","name":"Jesse Cambon"},"headline":"Geocoding with Tidygeocoder","dateModified":"2019-11-11T00:00:00-05:00","datePublished":"2019-11-11T00:00:00-05:00","description":"Tidygeocoder is a newly published R package which provides a tidyverse-style interface for geocoding. It returns latitude and longitude coordinates in tibble format from addresses using the US Census or Nominatim (OSM) geocoder services. In this post I will demonstrate how to use it for plotting a few Washington, DC landmarks on a map in honor of the recent Washington Nationals World Series win.","@context":"https://schema.org"}
-
-