Плагин Emoji (pre-release)

Emoji

Как можно видеть из скриншота, плагин добавляет возможность использования Emoji в редакторе MarkItUp. Костыльно, но интегрируется с форумом: его необходимо активировать раньше Emoji (должен стоять первее в plugins.dat). Создан по просьбе Arturio777
Установка
  • Скачать плагин: github.com/Chiliec/lsplugin-emoji/releases
  • Разархивировать в директорию плагинов и переименовать каталог в emoji
  • Активировать плагин

В связи с большим весом плагина выложить в каталог пока не удалось. Плагин абсолютно бесплатный и даже не прописывает ссылок в футере

Поддержать разработку плагина можно пулл реквестами на GitHub или материально — реквизиты в профиле.

52 комментария

avatar
лаконично и грамотно сделано! но есть и вопросы:
1. а как же лицензия? разве их можно поставлять в составе других дистрибутивов?
2. а 840 смайлов не многовато? :) не все браузеры вытерпят, да и сервер может лечь.
  • PSNet
  • +2
avatar
1. Даже как-то не подумал об этом… Я честно украл решение отсюда и адаптировал его, сохранив файл лицензии, как она требует. Что ж получается, удалять?..
avatar
я не знаю и не предлагаю, думал вы лучше об этом знаете :)
avatar
Вот что откопал по этому поводу:
This seems like the best polyfill available for rending scalable Emojis on systems with no Emoji fonts, and doing it legally. However, your web browser won’t fall back to this font when a character isn’t printable. We still have to do some string manipulation and wrap Emoji sequences with something like: <span class="emoji"> </span> but without the extra hassle of identifying the specific character.
timwhitlock.info/blog/2013/03/emoji-on-the-web/
avatar
Файл старой лицензии сть, плагин бесплатный, значит автор (Chiliec ) не планирует зарабатывать на чужих стараниях. Все вроде норм
avatar
Ну наконец то у такого огромного сообщества как LS появился плагин со смайликами! Ура Товарищи!
Автору мегареспект! Как доберусь до банкомата обязательно сделаю донат. А пока, пошел устанавливать себе этот плагин.
avatar
за плагин громадное спасибо! денежку непременно закину на поддержку!
avatar
Ребят, привет :) я либо криворукий либо неудачник, но у меня вот такая-вот ерунда
avatar
Извиняюсь, мой косяк. Перекачайте, пожалуйста.
avatar
ничего страшного :) я уж думал я такой «счастливчик». Спасибо за плагин, с ЗП кину денежку :)
avatar
А как сделать, чтобы данное окно открывалось не при наведении а при клике на иконку :)
avatar
Зачем?
Надо переопределять внутреннюю логику редактора. Попробуйте заменить содержимое файла
github.com/livestreet/livestreet/blob/1.0.3/engine/lib/external/jquery/markitup/jquery.markitup.js
на это: gist.github.com/Chiliec/d90cd230e8fba6a7fa3d
avatar
Работает, единственное при нажимании на иконку, чтобы окно появилось, оно появляется и перезагружается страница :)
avatar
на всех кнопках в редакторе теперь происходит перезагрузка страницы :)
avatar
Ещё разок то же самое.
avatar
Прошу прощения, если написал не понятно, просто после суток сегодня :)В общем, при клике на какую либо кнопку в форме написания комментария/топика

Происходит обновление страницы, при этом окошко со смайликами успевает появится
avatar
кто-то return false; или preventDefault забыл? :)
avatar
Ага, кто-то забыл :)
Кстати, вот последние новости по лицензированию github.com/richardcornish/django-emo/issues/1#issuecomment-55650945
avatar
В целом плагин радует, но есть кое какие вопросы:
1 на шаблоне developer, футур почему то уходит в правую колонку под основное содержимое.

это происходит на всех видах страниц включая «главную»
2 Хотел оставить только один вид смайлов (people) для этого, лишнее удалил из emo.js?
этого достаточно избежать
не все браузеры вытерпят, да и сервер может лечь
или из style.css тоже нужно удалять лишнее?
3 с форумом, когда отвечаешь на чей то коммент вот что происходит.


4 Можно ли как то добавить свои смайлы (анимированные гифки)? И как это сделать грамотно?
avatar
1. Обновитесь.
2. Достаточно.
3. Не смог воспроизвести.
4. По аналогии.
avatar
В каталог? Спасибо за труд.
avatar
думаю, автор его допилит, исправит все и отправит в каталог с минимальным паком (этак 150шт)
avatar
Нужно только определиться какие иконки оставить.
А ещё мне понравилось предложение с кликом — как-то это более логично, чем стандартная логика с наведением. Но переопределить пока не получается. Если кто-нибудь поможет — будет прекрасно :)
avatar
касательно новой версии:
1. думаю этому не место каждый раз в процессе парсинга:
		Emojione::$ascii = Config::Get('plugin.emoji.use_ascii');
		if(!Config::Get('plugin.emoji.use_cdn')) {
			Emojione::$imagePathPNG = Plugin::GetTemplateWebPath(__CLASS__).'images/';
		}		

2. во всех папках не хватает хтаксеса
3. языковые файлы не используются — можно и удалить пустые файлы
4. лучше не делать этого каждый раз при вызове редактора, оно же каждый раз добавляет. можно один раз в переменную, а ту — в функцию, она там будет иметь свое сохраненное состояние.
ls.settings.getMarkitup = function() {
    newMarkitupSettings.markupSet = newMarkitupSettings.markupSet.concat(myMarkupSet);
    return newMarkitupSettings;
}

тоже самое и для комментариев

это если касательно вообще кода. по поводу открытия по клику, могу скинуть кусок кода от моего плагина смайлов, который не был написан по причине отсутствия бесплатной лицензии (я так и не нашел):
	/**
	 * Добавить кнопку на панель для топиков и комментариев
	 *
	 * @constructor
	 */
	this.AddNewButtonsToEditor = function () {
		/**
		 * Код кнопки
		 */
		var oButtonCode = {
			'name': ls.lang.get ('plugin.simplesmiles.editor.smiles'),
			'className': 'editor-simplesmiles',
			'replaceWith': function (m) {
				$ ('.markItUpButton.' + m.className).after(
					$ ('<li/>', {
						class: 'simplesmiles-smiles-list',
						html: 'блок со смайлами'
					})
				);
			}
		};

		/**
		 * Добавление кнопки в MarkItUp! в редактор для топиков
		 */
		var oTopicSettings = ls.settings.getMarkitup ();
		oTopicSettings.markupSet.push (oButtonCode);
		ls.settings.getMarkitup = function () {
			return oTopicSettings;
		};

		/**
		 * Добавление кнопки в MarkItUp! в редактор для комментариев
		 */
		var oCommentSettings = ls.settings.getMarkitupComment ();
		oCommentSettings.markupSet.push (oButtonCode);
		ls.settings.getMarkitupComment = function () {
			return oCommentSettings;
		};
	};

по клику оно добавит рядом с кнопкой новый элемент с содержимым «блок со смайлами».
avatar
кстати, вариант с выпадающим списком довольно таки нормально смотрится, только прозрачность нужно уменьшить, а то некоторые иконки как-то слипаются с написанным текстом.
avatar
Отличный плагин, единственно на шаблоне social тоже часть футера уходит вправо в сайдбар на главной и остальных страницах.

  • yuran
  • +2
avatar
Обновитесь.
avatar
ура автору!
наконец, на сайтах LS появится жизнь ))
  • Kayum
  • +1
avatar
у меня после обновления что то с подвалом стало… он увеличился… свободное пространство вылезло.
avatar
Так и должно быть — это замена того решения, которое уводило футер в сайдбар в некоторых темах. Иначе иконки скрываются под ним.
Действительно всё плохо или просто непривычно? Можно скриншот или название темы?
P.S: Или просто подождите — в релизе этого не будет.
avatar
Честно говоря не очень хорошо. Шаблон Atlass. Вот скрин, такое на всех страницах:
shot.qip.ru/00bawa-616qWhW0Gt/
avatar
Единственный плагин, который так и не удалось запустить.
avatar
Ошибки при активизации:
Файл плагина /blog/plugins/Emoji/PluginEmoji.class.php не найден

Вторая ошибка (на память): нету классcа строка 472 в Engine.class.php
avatar
/blog/
Это откуда?
avatar
Блог не основной сайт. Он доступен по адресу: site.ru/blog/
avatar
Может тогда проблема в большой букве в названии папки плагина?
avatar
да, помогло… я бы и не догадался. Благодарю!
avatar
Если есть еще один список в markItUp, в моем случае — цвета, то порядок списока эмоций сбивается.

Тут видно, что класс смайлика сменился на 20-1, хотя должен быть 19-1. А все из-за списка цветов перед смайликами.

Также изменил в стилях путь к картинкам, потому что изображение накладывалось на список цветов.
.markItUp ul li ul li a { width: 20px; height: 20px; background-image: url(../images/wysiwyg-emoji.png); background-position: 0 0; background-repeat: no-repeat; }

поменял на
.emoji-people a, .emoji-nature a, .emoji-objects a, .emoji-places a, .emoji-symbols a{ width: 20px; height: 20px; background-image: url(../images/wysiwyg-emoji.png); background-position: 0 0; background-repeat: no-repeat; }
avatar
Добавил className каждому смайлику. Теперь нет необходимости дублировать стили для топиков и комментариев. Нет зависимости от порядка выпадающего списка в markUp.

Исправления здесь
avatar
Не мучайтесь, скачайте этот плагин :)
avatar

а у меня вот так отображаются, так и должно быть или я что-то делаю не так? ls1.0.3 spirit theme
avatar
Ошибка: Файл плагина не найден — при попытке активировать плагин
avatar
Плюньте и установите этот плагин.
avatar
у кого-то бомбит?)))
avatar
Инструкцию прочитайте. Папка должна называться emoji
Внутри нее распакованные файлы вроде PluginEmoji.class.php, без промежуточных папок.
avatar
Ты можешь минусовать сколько угодно, но только ты опоздал и не успел выложить плагин в каталог. Все ищут плагины через каталог и скачивать плагин будут мой. Я вообще удивляюсь, как про этот плагин еще помнят, и как обычный пользователи мучаются, скачивая файлы с GitHub.
avatar
Когда это мы на «ты» перешли?
Я не собирался и не собираюсь выкладывать его в каталог. А поставил минус за неуважительное отношение — плеваться в приличном обществе не принято.
avatar
Так вот я и говорю, можешь ставить сколь угодно, только это ничего не изменит.
avatar
твой плагин не очень, он чего-то куда-то отсылает, а мне не охота выпиливать из него всякий треш перед использованием
avatar
изменит. Потому что «твой» плагин косячный. И ответ в тикете о несовместимости Вашего плагина с другим — «Не используйте других плагинов» — дал понять многое. А встретив тут еще комменты… Еще и выводы сделал
avatar
Нанельки со смайламы выезжают за грануцу рабочего поля, почему-то они не над, а под оказываются.


Вопрос. Можно ли поднять панельки наверх? Или можно ли передвинуть кнопки смайлов налево что бы место оставалось.
avatar
Хороший плагин, но «хак» в CSS совсем лишний. Лучше сделать скролл в окне смайлов и его сделать фиксированного размера, к примеру! А в целом, большое спасибо ребятам за их детище;)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.