Module: Jekyll::Emoji::Filter

Defined in:
lib/jekyll/emoji/filter.rb

Instance Method Summary collapse

Instance Method Details

#emojify(input, output_format = nil, ascii = nil, shortname = nil) ⇒ String

Emojify the string. If the string is an HTML strings, certain elements won’t be emojified. Check the ‘BLACKLIST_*“ constants, and/or the docs inside the README for more information.

Parameters:

  • input (String)
  • output_format (String) (defaults to: nil)
  • ascii (FalseClass|TrueClass|NilClass) (defaults to: nil)
  • shortname (FalseClass|TrueClass|NilClass) (defaults to: nil)

Returns:

  • (String)


15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/jekyll/emoji/filter.rb', line 15

def emojify(input, output_format = nil, ascii = nil, shortname = nil)
  # Liquid/Jekyll seem to re-create the class where filters are included
  @@__emoji_converter__ ||= Converter.new(@context.registers[:site].config)
  @@__emoji_converter__.reconfigure('format' => output_format, 'ascii' => ascii, 'shortname' => shortname)

  output = @@__emoji_converter__.convert(input)

  # Revert back to old configuration
  # NOTE: This impacts performance in certain cases
  @@__emoji_converter__.reconfigure(@@__emoji_converter__.initial_conf)

  return output
end