lynnespace/_plugins/extensions.rb

39 lines
727 B
Ruby

require "liquid"
require "jekyll"
module Jekyll
module LynnesbianDotSpaceFilters
def ansi_colour(code)
"\u001b[38;5;#{code}m"
end
def ansi_bg(code)
"\u001b[48;5;#{code}m"
end
end
class AnsiResetTag < Liquid::Tag
def render(context)
"\u001b[0m"
end
end
class AnsiBoldTag < Liquid::Tag
def render(context)
"\u001b[1m"
end
end
class AnsiUnderlineTag < Liquid::Tag
def render(context)
"\u001b[4m"
end
end
end
Liquid::Template.register_filter(Jekyll::LynnesbianDotSpaceFilters)
Liquid::Template.register_tag('ansi_reset', Jekyll::AnsiResetTag)
Liquid::Template.register_tag('ansi_bold', Jekyll::AnsiBoldTag)
Liquid::Template.register_tag('ansi_underline', Jekyll::AnsiUnderlineTag)