Typografica (UTF8 - compatible)
Прислано: sotakone@drupal.org
пт, 12/05/2006 - 06:41
http://satrim.com/typografica.zip
Написал такой вот модуль, если кому нужен - берите %). Буду рад, если выскажите свои пожелания и сообщите о найденых ошибках. Пишите либо сюда, либо на enokatos chr(64) gmail.com.
Всего доброго, Михаил.
- sotakone@drupal.org's blog
- Для комментирования войдите или зарегистрируйтесь
что с его помощью можно реализовать?
- Для комментирования войдите или зарегистрируйтесь
Реализует некоторые правила экранной типографики, т.е. расставляет mdash вместо минусов, кавычки "елочки" вместо дюймов и т.д.
Подробнее об экранной типографике, можно почитать, например, у Лебедева.
- Для комментирования войдите или зарегистрируйтесь
Аналог модуля smartypants?
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
нет, не только. Typografica реализует дополнительную коррекцию (например, вставляет неразрывный пробел между предлогом и словом, делает неразрывными телефоны). кроме того, английская типографика отличается от русской (у них - ndash, у нас - mdash и т.д.)
- Для комментирования войдите или зарегистрируйтесь
Я так понял, модуль правит новый контент. А существующий?
Или может более простое решение - в фильтрах друпала поставить замену и все?
- Для комментирования войдите или зарегистрируйтесь
Да, вопрос интересный. Но проблема - надо ли каждый раз при выводе информации ее заново обрабатывать, загружая сервер. Не проще ли один раз при вводе информации ее "оттипографить"? С другой стороны, возможно, что важно иметь исходный текст "на всякий случай". (На parser.ru при обсуждении подобной проблемы пришли к выводу, что лучше хранить в базе и тот и другой варианты).
- Для комментирования войдите или зарегистрируйтесь
Модуль пока не смотрел, он чего не как модуль-фильтр работает? Если обработка реализована стандартным для друпала образом, то для "перефильтрации" старого контента надо просто сделать truncate table {cache}. Ведь фильтры обрабатывают ноды только при их создании/изменении, а потом префильтрованный html берётся из кэша.
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
Понятно, тогда это имеет смысл. Посмотрю, может пригодится для этого сайта :) - сейчас у нас smartypants стоит.
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
Этот модуль - обыкновенный друпаловский фильтр, т.е. он правит новый контент, добавляемый юзером, и не трогает существующий. Хотя вполне возможно что способ "отфильтровать" уже существующий контент есть - нужно посмотреть на drupal.org.
По поводу загрузки сервера. Не знаю, как в 4.6, но в 4.7 в базе хранится и отфильтрованый, и исходный вариант, т.е. при доступе к контенту фильтр заново НЕ вызывается, а отображается кэшированая версия. Это применимо ко всем фильтрам, не только к типографике.
Как вариант, можно еще обрабатывать текст посредством web-сервиса Лебедевского типографа. Это будет слегка медленнее (идет запрос через сокеты), но и обработка будет на порядок качественнее.
- Для комментирования войдите или зарегистрируйтесь
Понятно. А способ отфильтровать старый контент я указал выше - почистить таблицу кэша. Фильтры срабатывают при первом обращении к изменённой ноде, после контент берётся из кэша - так работают фильтры в Drupal 4.5-4.7.
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
Понятно, тогда это имеет смысл. Посмотрю, может пригодится для этого сайта :) - сейчас у нас smartypants стоит.
если пригодится, то будет просто замечательно :)
Понятно. А способ отфильтровать старый контент я указал выше - почистить таблицу кэша. Фильтры срабатывают при первом обращении к изменённой ноде, после контент берётся из кэша - так работают фильтры в Drupal 4.5-4.7.
угу, спасибо, буду иметь ввиду.
- Для комментирования войдите или зарегистрируйтесь
У меня не обрабатываются многоточия, это предусмотрено функционалом модуля? И как обработаются кавычки в таком случае:
фирма "ООО "Ника"
---------------------------
С уважением, Борис Вольфсон
- Для комментирования войдите или зарегистрируйтесь
"ООО "Ника" обрабатывается как «ООО «Ника», насколько я знаю, так и должно быть.
Про многоточие совсем забыл, поправил, новая версия лежит по тому же адресу.
- Для комментирования войдите или зарегистрируйтесь
субж
Оффтопик:
Не пора ли начать делать репозиторий русских модулей? Например, типографии русской. Очень интересует поиск по сайту с учетом русской морфологии, хотя бы простейшие реализации (чтобы окончание отрезалось).
---------------------------
С уважением, Борис Вольфсон
- Для комментирования войдите или зарегистрируйтесь
Репозиторий будет открыт в скором времени, с доступом для всех желающих. Доступ - скорее всего BazaarNG + FTP. Больше инфы: http://bazaar-vcs.org
http://drupal.org/node/45368
Для поиска с морфологией пишу модуль для интеграции с mnogosearch. Хотя вырисовывается скорее не интеграция, а замена встроенного поиска.
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
И как очистить старый кэш? Подскажите, пожалуйста. Стоит Друпал 4.6.5.
- Для комментирования войдите или зарегистрируйтесь
off: Эка расползлось! В цитатах переносы не работают, что ли? Или это "code"?
- Для комментирования войдите или зарегистрируйтесь
Это "code". Как бы его ограничить по ширине для таких случаев, кто посоветует? В скроллбар запихнуть?
--
Axel,
Darcs-репозиторий разработок для Drupal
- Для комментирования войдите или зарегистрируйтесь
Iframe?
- Для комментирования войдите или зарегистрируйтесь
overflow: scroll;
- Для комментирования войдите или зарегистрируйтесь
Пользовался модулем вот некоторые предложения:
- Сделать настройки (я бы хотел отключить расстановку неразрывных проблелов)
- Тире лучше ставить вот так: —
Хотелось, чтобы в результате использования модуля страница оставалось валидной, а именно XHMTL Strict.
---------------------------
С уважением, Борис Вольфсон
- Для комментирования войдите или зарегистрируйтесь
Полностью поддерживаю на счет настроек и тире!
Может все-таки народ подскажит, как кэш сбросить, дабы контент профильтровался заново (если будет сделано тире)?
- Для комментирования войдите или зарегистрируйтесь
Чтобы сбросить кеш, надо очистить таблицу cache, удобнее всего делать при помощи phpmyadmin или модуля dba.
---------------------------
С уважением, Борис Вольфсон
- Для комментирования войдите или зарегистрируйтесь
мне все-таки кажется, что «ООО „Ника“»,
то есть число кавычек не может быть нечетным
- Для комментирования войдите или зарегистрируйтесь
А с украинскими "і", "ї" и "є" не працюе!!!
Надо пофиксить бы!
- Для комментирования войдите или зарегистрируйтесь
- Сделать настройки (я бы хотел отключить расстановку неразрывных проблелов)
Хорошо, учтем. Я думаю сделать это в следующей версии. Скорее всего, разделю на два фильтра: первый расставляет типографические символы, второй - неразрывные пробелы.
- Тире лучше ставить вот так: —
А оно вроде бы так и ставится. Нет? Если нет, то в каком случае?
Может все-таки народ подскажит, как кэш сбросить, дабы контент профильтровался заново (если будет сделано тире)?
Вроде бы модуль такой был, который пункт меню добавляет - "flush cache"
мне все-таки кажется, что «ООО „Ника“»,
то есть число кавычек не может быть нечетным
Неправда ваша. Если имеют место вложеные кавычки, то закрывающая кавычка только одна. По правилам пунктуации.
А с украинскими “і”, “ї” и “є” не працюе!!!
Надо пофиксить бы!
Ох. Посмотрю, может поправлю что-нибудь. Проблема в том, что, например, "i" не входит в диапазон русских символов (А-Я), а регулярные выражения основаны именно на этом диапазоне.
- Для комментирования войдите или зарегистрируйтесь
У меня не работает этот модуль =( Вновь введенный текст не форматируется. В модулях включил...
- Для комментирования войдите или зарегистрируйтесь
А в фильтрах модуль включен(которые форматы ввода)?
Материаы новые создаются (или хотя бы таблица cache почищена)?
- Для комментирования войдите или зарегистрируйтесь
Если бы имелась возможность отключать некоторые вещи из этого модуля, тогда его можно уже активно использовать. Например, я бы хотел отключить расстановку непрерывных пробелов.
---------------------------
С уважением, Борис Вольфсон
- Для комментирования войдите или зарегистрируйтесь
вот что значит я новичок =) Я и не знал, что надо было обратить внимание на фильтры. Кстати исправив (tm) почему то не распознал (c). В остальном все отлично.
- Для комментирования войдите или зарегистрируйтесь
Даешь поддержку украинского!!!!!!
2Автор: Когда сие возможно будет заюзать? :)
- Для комментирования войдите или зарегистрируйтесь
> Если бы имелась возможность отключать некоторые вещи из этого модуля,
> тогда его можно уже активно использовать. Например, я бы хотел
> отключить расстановку непрерывных пробелов.
хорошо, учту.
> У меня не работает этот модуль =( Вновь введенный текст не
> форматируется. В модулях включил…
в input formats нужно его добавить. лучше - в самый конец.
> Кстати исправив (tm) почему то не распознал (c). В остальном все
> отлично.
гм. в каком именно случае он не обработал (с) ? может быть, "с" русская?
> Даешь поддержку украинского!!!!!!
я тут давеча ковырял в эту сторону и понял, что переделать на украинский его будет достаточно проблематично. может быть, кто-нибудь за это возьмется? )
> 2Автор: Когда сие возможно будет заюзать?
на данный момент отсечек практически не дает ). так что можно юзать уже сейчас, да )
- Для комментирования войдите или зарегистрируйтесь
нет, я проверял "с" в (c) была латинская.
- Для комментирования войдите или зарегистрируйтесь
у меня поемуто не конвертирует " в елочки. Это так задумано или у меня глюк?
- Для комментирования войдите или зарегистрируйтесь
да, кстати, этот модуль не конвертирует в ёлочки знаки, которые есть в названиях...
то есть, в тексте всё нормально, а в названиях всё по-прежнему...
- Для комментирования войдите или зарегистрируйтесь
Да, не ставит длинные тире и елочки в названиях, не ставит длинные тире в начале предложений.
- Для комментирования войдите или зарегистрируйтесь
"не ставит длинные тире в начале предложений."
у меня ставит... здесь посмотрите...
- Для комментирования войдите или зарегистрируйтесь
Ага, но у меня почему-то не ставит. Может дело и не в модуле, тогда непонятно.
- Для комментирования войдите или зарегистрируйтесь
хотел скачать, а сылка битая ( можт кто-нибудь сюда upload сделает этого модуля?
- Для комментирования войдите или зарегистрируйтесь
Здесь можно скачать... аттачментов для комментариев не предусмотрено насколько я вижу...
- Для комментирования войдите или зарегистрируйтесь
спасибо
- Для комментирования войдите или зарегистрируйтесь
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/zavedimm/htdocs/modules/typografica/typografica.module on line 104
выводит вот такую пакость как захожу в управление модулями :(
- Для комментирования войдите или зарегистрируйтесь
хм... даже не понял что это такое...
хотя - это не ошибка, это вроде предупреждение...
так что, использовать наверное можно...
- Для комментирования войдите или зарегистрируйтесь
Написано, что используется методика вызова функции, которая уже не используется, и просто объявлена для предотвращения ошибок. Т.е. оставлена только как временная заглушка. И эта возможность скоро будет отключена. Т.е. в одной из ближайших версиях этот модуль перестанет работать.
- Для комментирования войдите или зарегистрируйтесь
наверное для Друпала это ничем не грозит именно в данный момент...
для новых версий всё равно придётся делать новый модуль...
- Для комментирования войдите или зарегистрируйтесь
Если работает, то да пока ничем не грозит, а то обычно такие функции deprecated ничего и не делают - т.е. не обрабатывают данные.
- Для комментирования войдите или зарегистрируйтесь
Если работает, то да пока ничем не грозит, а то обычно такие функции deprecated ничего и не делают - т.е. не обрабатывают данные.
- Для комментирования войдите или зарегистрируйтесь
на всех страницах над сайтом пишет это...
как отключить непонятно...
- Для комментирования войдите или зарегистрируйтесь
выводит вот такую пакость как захожу в управление модулями
вы же сказали, что выводит, когда в управление модулями заходите?
отключите вывод сообщений на экран, да и всё...
- Для комментирования войдите или зарегистрируйтесь











Комментарии