Типограф студии «Вито»

Ещё один типограф, главное отличие которого от других – очень простой и ясный интерфейс управления процессом преобразования текста, полностью понятный даже для непосвящённого. Вместо огромного набора настроек, этот типограф предлагает список традиций характерных для типографики 5-ти ведущих стран: России, Англии, Германии, Швеции и Испании. Пользователю остаётся лишь выбрать страну-назначение, а сервис уже сам применит всё множество настроек характерных именно для данной национальной традиции.

Веб-сервис «Типограф студии „Вито“»

Рисунок 2.5. Веб-сервис «Типограф студии „Вито“»

Достоинства:

Бесплатный онлайн сервис, созданный на базе данного типографа;

Простота настройки и использования;

Активная поддержка и развитие.

Недостатки:

Закрытый исходный код;

Отсутствие возможности доработки и внесения изменений сторонними разработчиками;

Отсутствие системы отслеживания ошибок;

Малое количество настроек, отсутствие возможности детальной настройки работы типографа;

Отсутствие плагинов для популярных CMS.

Типограф «Jevix»

Jevix – система автоматического типографирования и фильтрации текста с XML(HTML) разметкой, разработанная вIT-компании «Тематические Медиа» для собственных проектов с открытым исходным кодом. Изначально появился как php-версия перлового Jevix-а, сейчас проекты сильно разошлись.. В дополнение к основным возможностям инструмент позволяет контролировать перечень допустимых тегов и атрибутов, предотвращать возможные XSS-атаки.

Веб-сервис «Типограф „Jevix“»

Рисунок 2.6. Веб-сервис «Типограф „Jevix“»

Jevix – проект с открытым исходным кодом. Его создатели, Игорь Аскаров, Андрей Хитров и Денис Егоров. Испытать типограф Jevixв работе может любой желающий с помощью одноимённого сервиса (www. jevix. ru). Настройки сервиса приведены в таблице 2.4.

Параметр

Описание

Допустимые значения

Кодирование

Кодирование специальных символов

символы ANSI;

HTML-коды;

HTML-сущности (по умолчанию).

Переносы строк

Расстановка переносов строк <br />

не расставлять;

расставлять (по умолчанию).

Параграфы

Расстановка параграфов <p>

не расставлять (по умолчанию);

расставлять.

Тире

Расстановка тире

не расставлять;

расставлять (по умолчанию).

Многоточия

Расстановка многоточий

не расставлять;

расставлять (по умолчанию).

Неуместные пробелы

Обработка неуместных пробелов

не удалять;

удалять (по умолчанию).

Пробелы в начале и конце текста

Обработка пробельных символов в начале и конце текста

не удалять;

удалять (по умолчанию).

Множественные пробелы

Обработка множественных пробелов

не удалять;

удалять (по умолчанию).

Неразрывные пробелы

Вставка неразрывных пробелов

не добавлять;

добавлять (по умолчанию).

Неразрывные конструкции

Управление объединением в неразрывные конструкции слов, написанные через дефис, с общей длиной больше заданного числа знаков (N)

не объединять (по умолчанию);

объединять.

Кавычки первого уровня

Внешний вид используемых кавычек на первом уровне вложенности

  • « » (по умолчанию)

  • „ “

  • “ ”

  • “ “

  • ‘ ’

  • ‘ ‘

Кавычки второго уровня

Внешний вид используемых кавычек на втором уровне вложенности

  • « »

  • „ “ (по умолчанию)

  • “ ”

  • “ “

  • ‘ ’

  • ‘ ‘

Таблица 2.4. Параметры настроек типографа «Jevix»

Помимо проектов «Тематических Медиа» Jevixиспользуется на множестве крупных веб-сайтов, среди которых: один из ведущих русскоязычных Интернет ресурсов, посвящённыхUnix-подобным операционным системам и мируOpenSource– «NixP» (www. nixp. ru);CMSдля блогов, социальных сетей и тематических сообществ «LiveStreet», «BigStreet», «ExplayCMS» и «Cogear»;

В отличие от большинства своих аналогов принцип работы Jevix основывается на конечном автомате, а не на регулярных выражениях. Типограф использует разрешающие правила вместо запрещающих: всё, что не разрешено – запрещено (листинг 2.6).

  • 01.
  • 02.
  • 03.
  • 04.
  • 05.
  • 06.
  • 07.
  • 08.
  • 09.
  • 10.
  • 11.
  • 12.

require ?jevix. class. php?;

$jevix = new Jevix();

// Установка разрешённых тегов и атрибутов

$jevix->cfgAllowTags(array(?a?, ?img?, ?strong?, ?ul?, ?li?, ?h1?, ?h2?));

$jevix->cfgAllowTagParams(?a?, array(?title?, ?href?));

$jevix->cfgSetTagParamsRequired(?a?, ?href?);

$jevix->cfgSetTagChilds(?ul?, ?li?, true, false);

$jevix->cfgSetTagParamsAutoAdd(?a?, array(?rel? => ?nofollow?));

echo $jevix->parse('Обрабатываемый текст');

Листинг 2.6. Пример использования типографа «Jevix» (PHP)

Достоинства:

Открытый исходный код;

Большое количество настроек, возможность включить или отключить любое правило;

Реализация на нескольких языках (PHP, Perl).

Недостатки:

Поддержка и развитие проекта прекращено;

Сложность доработки и внесения изменений в библиотеку сторонними разработчиками;

Отсутствие комментариев для большей части исходного кода;

Отсутствие документации пользователя.

 
Оригинал текста доступен для загрузки на странице содержания
< Пред   СОДЕРЖАНИЕ   Скачать   След >