[модуль] Добавление ссылки на сайт в скопированный текст

Настало время для очередного модуля.

На этот раз под прицел попал функционал добавления в скопированный текст ссылки на сайт, откуда этот текст скопировали. Подробно этот функционал обсуждался на хабре без малого два года назад; нашей задачей было внедрить это на Forbes.ru. Так родился модуль Add link to copied text.

Модуль предоставляет админку для настройки всех параметров плагина jQuery addtocopy + добавляет стили, чтобы сделать эту “добавочную стоимость” невидимой. Конечно же, код модуля следует стандартам кодирования и рекомендуемым практикам – поэтому нужно поместить код jQuery плагина в “sites/all/libraries/addtocopy”.

Спасибо!

Attached poll “Дайте совет автору ”.
Register or login to poll
Results:
пеши исчо!: 19 голосов
проще засунуть это в тему!: 0 голосов
давай, до свидания!: 3 голоса

Источник: http://www.drupal.ru/node/84860

Paste Format – чистка вставляемого текста

По следам успеха модуля uLogin (3 месяца после создания – 500+ сайтов используют на данный момент), про который я уже рассказывал на страницах drupal.ru, хочу рассказать о другом проджекте, который направлен лицом к пользователям – Paste Format.

Модуль решает проблему копирования/вставки текста из всяких “умных” источников (продукты от MS, с других сайтов, ещё откуда-то с “продвинутым” форматированием) – а именно проблему того, что копируется и вставляется различный “мусор”, который вам совсем не нужен в вашем контенте и, кроме этого, ломает ваши шрифты и стили. Да, при отображении контента это всё можно вырезать, используя формат ввода с нужными фильтрами; НО при этом весь этот мусор сохраняется в БД, подгружается при редактировании контента, ломает стили отображения текста в вашем визуальном редакторе, ваши авторы придумывают мифы и другую “ахинею”, что вот при редактировании текст такой, а при отображении все ломается, сайт глючит и так далее. На что тех персонал им обычно отвечает, что вы сами мол “уроды”, копируете текст хз откуда, вы должны писать его сразу в визуальном редакторе на сайте или вставлять через спец кнопочку, которая убивает все форматирование… или вообще включает принудительную чистку форматирования при вставке. В общем, ситуация не из приятных

Именно для решения этой проблемы и был написан модуль Paste Format (сейчас работает только в тандеме с CKEditor, как через отдельный модуль для этого редактора, так и через модуль WYSIWYG). Он позволяет отфильтровать вставляемый текст одним из форматов ввода, настроенном на вашем сайте в админке Друпала. То есть никаких регэкспов вам писать не надо, тем более на джаваскрипте

Установка проста – скачать, распаковать, включить. Создать _отдельный_ формат ввода, в котором включить и настроить фильтры, которые будут вычищать ненужный вам маркап (здесь на помощь придут модули WYSIWYG Filter, HTML Purifier, htmLawed и другие) – и настроить Paste Format использовать именно его (иначе будет использоваться формат ввода по умолчанию). Раздать пермишен на использование этого модуля тем ролям, которые создают/редактируют контент на сайте (этот пермишен защищает аяксовый колбек, который и производит фильтрацию вставляемого текста). Включить плагин Paste Format в нужных профилях редактора CKEditor.

Технически модуль вешается на событие вставки текста в визуальный редактор, посылает этот текст на сервер и вставляет уже обработанный текст. При этом вы сами управляете тем, какой маркап оставлять, а какой вычищать – просто настраивая фильтры обработки текста в админке Друпала.

Надеюсь, я ясно изложил позицию, для чего именно и почему был написан такой модуль (и в комментариях не будет разводиться флейм, что вот у CKEditor есть своя собственная чистка при вставке и так далее – на это могу сказать, что вы сами не контролируете, что именно и как вычищает CKEditor (и по моему опыту он может что-то оставлять, убирая что-то нужное – а поправить это я не могу ); а с этим модулем все находится под вашим полным контролем).
Также надеюсь, что данный модуль поможет улучшить юзер экспириенс авторов контента и отношения между ними и разработчиками/администраторами сайта.

Спасибо!

Источник: http://www.drupal.ru/node/82923

© 2009 Обзор CMS