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 page.date %}
    <meta property="article:published_time" content="{{ page.date }}" />
{% endif %}

Yuck!

 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="{{ include.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" content=page.date %}
 
13
Kudos
 
13
Kudos

Now read this

Defining Noncommercial

Yesterday, Wired announced that they will be releasing all staff-produced photos under a Creative Commons Attribution-NonCommercial 3.0 Unported license (CC BY-NC). For those unfamiliar, this license allows a third party to reuse one of... Continue →