Jekyll Meta Includes

 The Problem

In Jekyll, I have a lot of code that will include a <meta> tag if a certian property is set.

The code for this looks terrible, and is terribly repetative.

{% if site.title %}
    <meta property="og:site_name" content="{{ site.title }}" />
{% endif %}

{% if page.url %}
    <meta property="og:url" content="{{ page.url }}" />
{% endif %}

{% if page.thumbnail %}
    <meta property="og:image" content="{{ page.thumbnail }}" />
{% endif %}

{% if %}
    <meta property="article:published_time" content="{{ }}" />
{% endif %}


 The Solution

I have come up with a solution!

Using Jekyll’s (new?) Include paramaters, I can create one file that checks
to see if a certian variable exists and – if so – will include the proper <meta> tag.

This file looks like this.

{% if include.content %}
<meta property="{{ }}" content="{{ include.content }}" />
{% endif %}

Now, the code to include a list of meta tags looks much more readable.

{% include meta.html property="og:site_name" content=site.title %}
{% include meta.html property="og:url" content=page.url %}
{% include meta.html property="og:image" content=page.thumbnail %}
{% include meta.html property="article:published_time" %}

Now read this

Recursion: Moving away from the Base Case

Can we send in a negative number into the parameter of a recursive function, such that it steps further away from the base case with each iteration? Yes. What will happen if we do? There are two answers, the practical and the... Continue →