Skip to content

Instantly share code, notes, and snippets.

@lukaswhite
Created November 19, 2014 16:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukaswhite/443589c189fa2a213c89 to your computer and use it in GitHub Desktop.
Save lukaswhite/443589c189fa2a213c89 to your computer and use it in GitHub Desktop.
Ordinalized Dates in Jekyll
require 'date'
module Jekyll
module OrdinalizedDate
def ordinalized_date(input)
d = input.strftime("%e")
input.strftime("%A ") + self.ordinalize(d.to_i) + input.strftime(" %B, %Y")
end
def ordinalize(number)
if (11..13).include?(number % 100)
"#{number}<sup>th</sup>"
else
case number % 10
when 1; "#{number}<sup>st</sup>"
when 2; "#{number}<sup>nd</sup>"
when 3; "#{number}<sup>rd</sup>"
else "#{number}<sup>th</sup>"
end
end
end
end
end
Liquid::Template.register_filter(Jekyll::OrdinalizedDate)
---
layout: default
---
<h2>{{ page.title }}</h2>
<p class="meta">{{ page.date | ordinalized_date }}</p>
<div class="post">
{{ content }}
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment