From bead0a825fda6cea70ff13e20ac701e1cdbb1c75 Mon Sep 17 00:00:00 2001 From: Felipe Martin Date: Mon, 26 Dec 2016 12:41:53 +0100 Subject: [PATCH] Add emojify plugin --- packages/emojify/.gitignore | 5 +++++ packages/emojify/lektor_emojify.py | 32 ++++++++++++++++++++++++++++++ packages/emojify/setup.py | 16 +++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 packages/emojify/.gitignore create mode 100644 packages/emojify/lektor_emojify.py create mode 100644 packages/emojify/setup.py diff --git a/packages/emojify/.gitignore b/packages/emojify/.gitignore new file mode 100644 index 0000000..463960b --- /dev/null +++ b/packages/emojify/.gitignore @@ -0,0 +1,5 @@ +dist +build +*.pyc +*.pyo +*.egg-info diff --git a/packages/emojify/lektor_emojify.py b/packages/emojify/lektor_emojify.py new file mode 100644 index 0000000..b882eee --- /dev/null +++ b/packages/emojify/lektor_emojify.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +import emoji + +from lektor.pluginsystem import Plugin + + +class EmojifyPlugin(Plugin): + name = u'lektor-emojify' + description = u'Add emoji to your pages' + + def emojize(self, text): + return emoji.emojize(text, use_aliases=True) + + def on_markdown_config(self, config, **extra): + class EmojizeMixin(object): + def link(ren, link, title, text): + text = self.emojize(text) + return super(EmojizeMixin, ren).link(link, title, text) + + def table_cell(ren, content, **kwargs): + result = super(EmojizeMixin, ren).table_cell(content, **kwargs) + return self.emojize(result) + + def list_item(ren, text): + result = super(EmojizeMixin, ren).list_item(text) + return self.emojize(result) + + def paragraph(ren, text): + result = super(EmojizeMixin, ren).paragraph(text) + return self.emojize(result) + + config.renderer_mixins.append(EmojizeMixin) diff --git a/packages/emojify/setup.py b/packages/emojify/setup.py new file mode 100644 index 0000000..7510590 --- /dev/null +++ b/packages/emojify/setup.py @@ -0,0 +1,16 @@ +from setuptools import setup + +setup( + name='lektor-emojify', + version='0.1', + author=u'Felipe Martin', + author_email='me@fmartingr.com', + license='MIT', + py_modules=['lektor_emojify'], + install_requires=['emoji'], + entry_points={ + 'lektor.plugins': [ + 'emojify = lektor_emojify:EmojifyPlugin', + ] + } +)