Merge upstream and update Gemfile.lock

This commit is contained in:
2020-01-26 03:31:36 -05:00
parent 12bc37ec52
commit b1f816924a
50 changed files with 1654 additions and 202 deletions

View File

@@ -4,4 +4,4 @@
<link rel="stylesheet" href="{{ include.css.href }}" />
{% else %}
<link rel="stylesheet" href="{{ include.css }}" />
{% endif %}
{% endif %}

View File

@@ -8,7 +8,7 @@
js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId={{ site.fb_comment_id }}&autoLogAppEvents=1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="{{ site.url }}{{ page.url }}" data-width="100%" data-numposts="5"></div>
<div class="fb-comments" data-href="{{ page.url | absolute_url }}" data-width="100%" data-numposts="5"></div>
<noscript>Please enable JavaScript to view the comments powered by Facebook.</noscript>
</div>
{%- endif -%}

View File

@@ -7,10 +7,10 @@
{% else %}
{{ site.time | date: '%Y' }}
{% endif %}
{% if site.url-pretty %}
&nbsp;&nbsp;&bull;&nbsp;&nbsp;
<a href="{{ site.url }}">{{ site.url-pretty }}</a>
{% endif %}
<a href="{{ '' | absolute_url }}">{{ site.url-pretty }}</a>
{% endif %}
</div>
</footer>
</footer>

View File

@@ -4,6 +4,21 @@
{% endfor %}
{% endif %}
{% if layout.common-js %}
{% for js in layout.common-js %}
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
{% if js contains 'jquery' %}
<script>
if (typeof jQuery == 'undefined') {
document.write('<script src="{{ js | relative_url }}"></scr' + 'ipt>');
}
</script>
{% else %}
<script src="{{ js | relative_url }}"></script>
{% endif %}
{% endfor %}
{% endif %}
{% if page.ext-js %}
{% for js in page.ext-js %}
{% include ext-js.html js=js %}
@@ -12,21 +27,6 @@
{% if page.js %}
{% for js in page.js %}
<script src="{{ js | prepend: site.baseurl | replace: '//', '/' }}"></script>
{% endfor %}
{% endif %}
{% if layout.common-js %}
{% for js in layout.common-js %}
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
{% if js contains 'jquery' %}
<script>
if (typeof jQuery == 'undefined') {
document.write('<script src="{{ js | prepend: site.baseurl | replace: "//", "/" }}"></scr' + 'ipt>');
}
</script>
{% else %}
<script src="{{ js | prepend: site.baseurl | replace: '//', '/' }}"></script>
{% endif %}
<script src="{{ js | relative_url }}"></script>
{% endfor %}
{% endif %}

View File

@@ -8,7 +8,7 @@
{%- assign element = site.data.SocialNetworks[curkey] -%}
<li>
{%- if curkey == 'rss' -%}
<a href="{{ '/feed.xml' | prepend: site.baseurl }}" title="{{ element.name }}">
<a href="{{ '/feed.xml' | relative_url }}" title="{{ element.name }}">
{%- elsif curkey == 'yelp' -%}
<a href="https://{{ site.social-network-links[curkey] }}.yelp.com" title="{{ element.name }}">
{%- else -%}
@@ -30,7 +30,7 @@
{% if site.url-pretty %}
&nbsp;&bull;&nbsp;
<a href="{{ site.url }}">{{ site.url-pretty }}</a>
<a href="{{ '' | absolute_url }}">{{ site.url-pretty }}</a>
{% endif %}
{% if site.matomo %}
@@ -43,7 +43,7 @@
<!-- Please don't remove this, keep my open source work credited :) -->
<p class="theme-by text-muted">
Theme by
<a href="http://deanattali.com/beautiful-jekyll/">beautiful-jekyll</a>
<a href="https://deanattali.com/beautiful-jekyll/">beautiful-jekyll</a>
</p>
</div>
</div>

View File

@@ -1,12 +1,14 @@
{% if site.google_analytics %}
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
{% endif %}
<!-- Google Analytics -->
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
{% endif %}

View File

@@ -0,0 +1,11 @@
{% if site.gtag %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.gtag }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ site.gtag }}');
</script>
{% endif %}

View File

@@ -3,4 +3,4 @@
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ site.gtm }}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
{% endif %}
{% endif %}

View File

@@ -6,4 +6,4 @@
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ site.gtm }}');</script>
<!-- End Google Tag Manager -->
{% endif %}
{% endif %}

View File

@@ -1,7 +1,7 @@
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
<title>{% if page.use-site-title %}{{ site.title }} {{ site.title-separator }} {{ site.description }}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
@@ -11,8 +11,9 @@
<meta name="description" content="{{ page.subtitle }}">
{% endif %}
<link rel="alternate" type="application/rss+xml" title="{{ site.title }} {{ site.title-separator }} {{ site.description }}" href="{{ site.baseurl }}/feed.xml" />
<link rel="alternate" type="application/rss+xml" title="{{ site.title }} {{ site.title-separator }} {{ site.description }}" href="{{ '/feed.xml' | absolute_url }}" />
{% include gtag.html %}
{% include gtm_head.html %}
{% include google_analytics.html %}
@@ -24,7 +25,7 @@
{% if layout.common-css %}
{% for css in layout.common-css %}
<link rel="stylesheet" href="{{ css | prepend: site.baseurl | replace: '//', '/' }}" />
<link rel="stylesheet" href="{{ css | relative_url }}" />
{% endfor %}
{% endif %}
@@ -42,7 +43,7 @@
{% if page.css %}
{% for css in page.css %}
<link rel="stylesheet" href="{{ css | prepend: site.baseurl | replace: '//', '/' }}" />
<link rel="stylesheet" href="{{ css | relative_url }}" />
{% endfor %}
{% endif %}
@@ -77,17 +78,17 @@
<meta property="og:type" content="website" />
{% if page.id %}
<meta property="og:url" content="{{ site.url }}{{ page.url }}" />
<link rel="canonical" href="{{ site.url }}{{ page.url }}" />
<meta property="og:url" content="{{ page.url | absolute_url }}" />
<link rel="canonical" href="{{ page.url | absolute_url }}" />
{% else %}
<meta property="og:url" content="{{ site.url }}{{ page.url | remove: '/index.html' | remove: '.html' }}" />
<link rel="canonical" href="{{ site.url }}{{ page.url | remove: '/index.html' | remove: '.html' }}" />
<meta property="og:url" content="{{ page.url | absolute_url | strip_index }}" />
<link rel="canonical" href="{{ page.url | absolute_url | strip_index }}" />
{% endif %}
{% if page.share-img %}
<meta property="og:image" content="{{ page.share-img }}" />
{% elsif site.avatar %}
<meta property="og:image" content="{{ site.url }}{{ site.avatar }}" />
<meta property="og:image" content="{{ site.avatar | absolute_url }}" />
{% endif %}
@@ -115,11 +116,16 @@
{% if page.share-img %}
<meta name="twitter:image" content="{{ page.share-img }}" />
{% elsif site.avatar %}
<meta name="twitter:image" content="{{ site.url }}{{ site.avatar }}" />
<meta name="twitter:image" content="{{ site.avatar | absolute_url }}" />
{% endif %}
{% if site.matomo %}
{% include matomo.html %}
{% endif %}
{% if page.comments and site.staticman.repository and site.staticman.branch %}
<!-- Staticman -->
<link rel="stylesheet" href="{{ "/css/staticman.css" | relative_url }}" />
{% endif %}
</head>

View File

@@ -8,10 +8,10 @@
{% assign imgnum = forloop.index %}
{% for imginfo in bigimg %}
{% if imginfo[0] %}
data-img-src-{{ imgnum }}="{{ imginfo[0] | prepend: site.baseurl | replace: '//', '/' }}"
data-img-src-{{ imgnum }}="{{ imginfo[0] | relative_url }}"
data-img-desc-{{ imgnum }}="{{ imginfo[1] }}"
{% else %}
data-img-src-{{ imgnum }}="{{ imginfo | prepend: site.baseurl | replace: '//', '/' }}"
data-img-src-{{ imgnum }}="{{ imginfo | relative_url }}"
{% endif %}
{% endfor %}
{% endfor %}
@@ -34,9 +34,9 @@
<h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
{% endif %}
{% endif %}
{% if include.type == "post" %}
<span class="post-meta">Posted on {{ page.date | date: "%B %-d, %Y" }}</span>
<span class="post-meta">Posted on {{ page.date | date: site.date_format }}</span>
{% endif %}
</div>
</div>
@@ -59,9 +59,9 @@
<h2 class="{{ include.type }}-subheading">{{ page.subtitle }}</h2>
{% endif %}
{% endif %}
{% if include.type == "post" %}
<span class="post-meta">Posted on {{ page.date | date: "%B %-d, %Y" }}</span>
<span class="post-meta">Posted on {{ page.date | date: site.date_format }}</span>
{% endif %}
</div>
</div>
@@ -73,4 +73,4 @@
{% else %}
<div class="intro-header"></div>
{% endif %}
{% endif %}

View File

@@ -0,0 +1,4 @@
{%- if site.just-comments -%}
<div class="just-comments" data-apikey="{{site.just-comments}}"></div>
<script async src="https://just-comments.com/w2.js"></script>
{%- endif -%}

View File

@@ -7,49 +7,47 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
{% if site.title-img %}
<a class="navbar-brand navbar-brand-logo" href="{{ site.url }}"><img src="{{ site.title-img }}"/></a>
{% else %}
<a class="navbar-brand" href="{{ site.url }}">{{ site.title }}</a>
{% endif %}
{%- if site.title-img -%}
<a class="navbar-brand navbar-brand-logo" href="{{ '' | absolute_url }}"><img src="{{ site.title-img }}"/></a>
{%- else -%}
<a class="navbar-brand" href="{{ '' | absolute_url }}">{{ site.title }}</a>
{%- endif -%}
</div>
<div class="collapse navbar-collapse" id="main-navbar">
<ul class="nav navbar-nav navbar-right">
{% for link in site.navbar-links %}
{% if link[1].first %}
{%- for link in site.navbar-links -%}
{%- if link[1].first %}
<li class="navlinks-container">
<a class="navlinks-parent" href="javascript:void(0)">{{ link[0] }}</a>
<div class="navlinks-children">
{% for childlink in link[1] %}
{% for linkparts in childlink %}
{% include navbarlink.html link=linkparts %}
{% endfor %}
{% endfor %}
{%- for childlink in link[1] -%}
{%- for linkparts in childlink %}
<a href="{{ linkparts[1] | relative_url }}">{{ linkparts[0] }}</a>
{%- endfor -%}
{%- endfor %}
</div>
</li>
{% else %}
<li>
{% include navbarlink.html link=link %}
</li>
{% endif %}
{% endfor %}
<li><a href="{{ link[1] | relative_url }}">{{ link[0] }}</a></li>
{%- endif -%}
{%- endfor -%}
</ul>
</div>
{% if page.image and (layout.show-avatar or page.show-avatar) %}
<div class="avatar-container">
<div class="avatar-img-border">
<a href="{{ site.url }}">
<img class="avatar-img" src="{{ page.image | prepend: site.baseurl | replace: '//', '/' }}" />
<a href="{{ '' | absolute_url }}">
<img class="avatar-img" src="{{ page.image | relative_url }}" />
</a>
</div>
</div>
{% elsif site.avatar and (layout.show-avatar or page.show-avatar) %}
<div class="avatar-container">
<div class="avatar-img-border">
<a href="{{ site.url }} ">
<img class="avatar-img" src="{{ site.avatar | prepend: site.baseurl | replace: '//', '/' }}" />
<a href="{{ '' | absolute_url }}">
<img class="avatar-img" src="{{ site.avatar | relative_url }}" />
</a>
</div>
</div>

View File

@@ -12,7 +12,7 @@
{% if site.share-links-active.twitter %}
<!--- Share on Twitter -->
<a href="https://twitter.com/intent/tweet?text={{ page.title | url_encode }}+{{ site.url }}{{ page.url }}"
<a href="https://twitter.com/intent/tweet?text={{ page.title | url_encode }}&url={{ page.url | absolute_url | url_encode }}"
class="btn btn-social-icon btn-twitter" title="Share on Twitter">
<span class="fa fa-fw fa-twitter" aria-hidden="true"></span>
<span class="sr-only">Twitter</span>
@@ -21,25 +21,16 @@
{% if site.share-links-active.facebook %}
<!--- Share on Facebook -->
<a href="https://www.facebook.com/sharer/sharer.php?u={{ site.url }}{{ page.url }}"
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}"
class="btn btn-social-icon btn-facebook" title="Share on Facebook">
<span class="fa fa-fw fa-facebook" aria-hidden="true"></span>
<span class="sr-only">Facebook</span>
</a>
{% endif %}
{% if site.share-links-active.google %}
<!--- Share on Google Plus -->
<a href="https://plus.google.com/share?url={{ site.url }}{{ page.url }}"
class="btn btn-social-icon btn-google" title="Share on Google+">
<span class="fa fa-fw fa-google-plus" aria-hidden="true"></span>
<span class="sr-only">Google+</span>
</a>
{% endif %}
{% if site.share-links-active.linkedin %}
<!--- Share on LinkedIn -->
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ site.url }}{{ page.url }}"
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}"
class="btn btn-social-icon btn-linkedin" title="Share on LinkedIn">
<span class="fa fa-fw fa-linkedin" aria-hidden="true"></span>
<span class="sr-only">LinkedIn</span>

View File

@@ -0,0 +1,22 @@
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
<div class="comment__avatar-wrapper">
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
</div>
<div class="comment__content-wrapper">
<h4 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
{% unless include.url == blank %}
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
{% else %}
<span itemprop="name">{{ include.name }}</span>
{% endunless %}
</h4>
<p class="comment__date">
{% if include.date %}
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
{% if include.index %}</a>{% endif %}
{% endif %}
</p>
<div itemprop="text">{{ include.message | markdownify }}</div>
</div>
</article>

View File

@@ -0,0 +1,81 @@
{% if site.staticman.repository and site.staticman.branch %}
<div class="page__comments">
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h3>
{% assign comments = site.data.comments[page.slug] | sort %}
{% for comment in comments %}
{% assign email = comment[1].email %}
{% assign name = comment[1].name %}
{% assign url = comment[1].url %}
{% assign date = comment[1].date %}
{% assign message = comment[1].message %}
{% include staticman-comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<div class="page__comments-form">
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h3>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post">
<div class="form-group">
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label><br>
<textarea type="text" rows="12" cols="36" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</div>
<div class="form-group">
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</div>
<div class="form-group">
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</div>
<div class="form-group">
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</div>
<div class="form-group hidden" style="display: none;">
<input type="hidden" name="options[origin]" value="{{ page.url | absolute_url }}">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
{% if site.staticman.reCaptcha.siteKey %}<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.staticman.reCaptcha.siteKey }}">{% endif %}
{% if site.staticman.reCaptcha.secret %}<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.staticman.reCaptcha.secret }}">{% endif %}
</div>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text-success hidden">{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}</strong>
<strong class="js-notice-text-failure hidden">{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}</strong>
</p>
<!-- End comment form alert messaging -->
{% if site.staticman.reCaptcha.siteKey %}
<div class="form-group">
<div class="g-recaptcha" data-sitekey="{{ site.staticman.reCaptcha.siteKey }}"></div>
</div>
{% endif %}
<div class="form-group">
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
<button type="submit" id="comment-form-submitted" tabindex="5" class="btn btn--primary btn--large hidden" disabled>{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}</button>
</div>
</form>
</div>
<!-- End new comment form -->
<!-- Load reCaptcha if site key is set -->
{% if site.staticman.reCaptcha.siteKey %}
<script async src="https://www.google.com/recaptcha/api.js"></script>
{% endif %}
</div>
<!-- Load script to handle comment form submission -->
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
<script>
if (typeof jQuery == 'undefined') {
document.write('<script src="{{ "/js/jquery-1.11.2.min.js" | relative_url }}"></scr' + 'ipt>');
}
</script>
<script src="{{ "/js/staticman.js" | relative_url }}"></script>
{% endif %}