WP Manifestindependent plugin directory
manifest / content / tipograf

Типограф: висячие предлоги

Типограф: висячие предлоги — плагин WordPress, неразрывные пробелы после предлогов и союзов в русских текстах

by m12studio · github.com/m12studio-ru/tipograf · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/m12studio-ru/tipograf/archive/refs/heads/main.zip

Типограф: висячие предлоги

Русский · English

Плагин WordPress, который убирает висячие предлоги и союзы в русских текстах: короткие слова, частицы, тире и единицы измерения не отрываются от соседнего слова.

Висячий предлог — короткое слово в конце строки, оторванное от следующего: «в», «на», «не», «и». Типограф ставит между ними неразрывный пробел, и браузер переносит их на новую строку вместе.

Что делает

  • Короткие слова. Предлоги, союзы и короткие местоимения держатся за следующее слово: «с вами», «на сайт», «не всегда». Список слов можно поменять в настройках.
  • Частицы. Же, ли, бы держатся за предыдущее слово: «он же», «был ли».
  • Тире не переносится в начало строки: «Москва — столица».
  • Числа и сокращения: «10 м», «5 шт», «№ 5», «г. Москва».

Каждое правило включается и выключается отдельно: Настройки → Типограф.

Как работает

  • Обрабатывает готовую страницу целиком при выдаче: тексты записей, заголовки, меню, поля, подписи в шаблонах темы.
  • Трогает только видимый текст. Теги, атрибуты, ссылки, скрипты, стили, <head>, <pre> и <code> остаются как были.
  • Тексты в базе не меняются: выключили плагин — всё как раньше.
  • С кешем страниц (WP Super Cache, WP Rocket, LiteSpeed) обработка идёт один раз, когда страница попадает в кеш. После включения, выключения и изменения настроек кеш сбрасывается сам.

Требования

  • WordPress 6.5 или новее
  • PHP 7.4 или новее

Установка

  1. Скачайте архив репозитория и распакуйте папку tipograf в wp-content/plugins/.
  2. Включите плагин в разделе Плагины.
  3. Настройки → Типограф: выберите правила и при желании поправьте список коротких слов.

Подгрузка без перезагрузки страницы

Кнопки «Показать ещё», фильтры каталога и живой поиск часто подгружают записи через AJAX. Такие ответы плагин обрабатывает сам, без настройки: и готовый HTML, и JSON, внутри которого лежит HTML. Простые строки в JSON не трогает, потому что это могут быть данные: адреса, ключи, значения полей.

Не обрабатываются:

  • запросы из админки, чтобы неразрывные пробелы не попали обратно в базу;
  • REST API, RSS-ленты, robots.txt, карты сайта и другие ответы не в HTML;
  • страницы на других языках на многоязычных сайтах (TranslatePress, WPML, Polylang): переводы ищутся по исходному тексту;
  • страницы, открытые в редакторе переводов TranslatePress или в визуальном конструкторе (Elementor, Divi, Beaver Builder, Oxygen, Bricks, WPBakery, Thrive, Brizy): текст оттуда сохраняется обратно в базу.

Выключить обработку на отдельных страницах можно фильтром:

add_filter( 'tipograf_enabled', function ( $enabled ) {
    return $enabled && ! is_page( 'contacts' );
} );

Проверки

php tests/run.php

Откуда правила

Правила основаны на Типографе Муравьёва (общественное достояние) и переписаны под современный PHP.

Лицензия

GPLv2 или новее. Автор — m12studio.