Skip to content

Instantly share code, notes, and snippets.

@lukaswhite
Created November 19, 2014 16:33

Revisions

  1. lukaswhite created this gist Nov 19, 2014.
    24 changes: 24 additions & 0 deletions ordinalized_date.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    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)
    9 changes: 9 additions & 0 deletions post.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    ---
    layout: default
    ---
    <h2>{{ page.title }}</h2>
    <p class="meta">{{ page.date | ordinalized_date }}</p>

    <div class="post">
    {{ content }}
    </div>