module Jekyll class ActiveLinkTag < Liquid::Tag def initialize(tag_name, text, token) super parts = text.split(' ', 2) @href = parts[0] @title = parts[1] end def render(context) href = Liquid::Template.parse(@href).render context title = Liquid::Template.parse(@title).render context cls = href == context.registers[:page]["url"] ? "class='active'" : '' "#{title}" end end end Liquid::Template.register_tag('active_link', Jekyll::ActiveLinkTag)