Initial blog setup
parent
5080107cb9
commit
6c97f116a5
@ -0,0 +1,69 @@
|
||||
# Jekyll Emoji
|
||||
#
|
||||
# Chris Kempson (http://chriskempson.com)
|
||||
# https://github.com/chriskempson/jekyll-emoji
|
||||
#
|
||||
# A jekyll plug-in that provides a Liquid filter for emojifying text with
|
||||
# https://github.com/github/gemoji. See http://www.emoji-cheat-sheet.com for
|
||||
# a full listing of emoji codes.
|
||||
#
|
||||
# Installation:
|
||||
# - Run `gem install gemoji` or add `gem 'gemoji'` to your gemfile and run `bundle install`
|
||||
# - Copy this file to your `_plugins` directory
|
||||
# - Add a line like `emoji_dir: images/emoji` to your `_config.yml`
|
||||
# - If you want to use external source for emoji, set `emoji_dir: http://...` to your `_config.yml`.
|
||||
#
|
||||
# Usage:
|
||||
# - Apply the filter wherever needed e.g. {{ content | emojify }}
|
||||
# - Add some emoji to your article! e.g. "Hello :wink:"
|
||||
|
||||
require 'gemoji'
|
||||
|
||||
module Jekyll
|
||||
|
||||
module EmojiFilter
|
||||
|
||||
def emojify(content)
|
||||
return false if !content
|
||||
|
||||
config = @context.registers[:site].config
|
||||
if config['emoji_dir']
|
||||
if config['emoji_dir'].start_with?('http')
|
||||
emoji_dir = config['emoji_dir']
|
||||
else
|
||||
emoji_dir = '/' + File.join(config['source'], config['emoji_dir'])
|
||||
end
|
||||
end
|
||||
|
||||
content.to_str.gsub(/(?<!\w):([a-z0-9\+\-_]+):/) do |match|
|
||||
if Emoji.find_by_alias($1) and emoji_dir
|
||||
'<img alt="' + $1 + '" src="' + config['emoji_dir'] + "/#{$1}.png" + '" class="emoji" />'
|
||||
else
|
||||
match
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class EmojiGenerator < Generator
|
||||
def generate(site)
|
||||
config = site.config
|
||||
return false if not config['emoji_dir']
|
||||
return false if config['emoji_dir'].start_with?('http')
|
||||
emoji_dir = File.join(config['source'], config['emoji_dir'])
|
||||
return false if File.exist?(emoji_dir + '/smiley.png')
|
||||
|
||||
# Make Emoji directory
|
||||
FileUtils.mkdir_p(emoji_dir)
|
||||
|
||||
# Copy Gemoji files
|
||||
Dir["#{Emoji.images_path}/emoji/*.png"].each do |src|
|
||||
FileUtils.cp src, emoji_dir
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Liquid::Template.register_filter(Jekyll::EmojiFilter)
|
Loading…
Reference in New Issue