WP Manifestindependent plugin directory
manifest / i18n / russian-typography

Russian Typography

WordPress-плагин для склейки русских предлогов и коротких служебных слов неразрывными пробелами.

by gogolevmatvey · github.com/gogolevmatvey/russian-typography

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/gogolevmatvey/russian-typography/archive/refs/heads/main.zip

Readme

Русская типографика

Обычный WordPress-плагин для точечной русской типографики.

Плагин не меняет текст в базе данных. Он обрабатывает HTML только при выводе на фронтенде.

Что делает

  • Склеивает короткие русские служебные слова со связанным словом неразрывным пробелом в выбранном режиме.
  • Склеивает исторические сокращения: н. э., до н. э.
  • Склеивает числа с частыми единицами: 5 км, 480 году, 24 часа.
  • Предлагает режим standart, который локально имитирует только пробелы Типографа Артемия Лебедева.
  • Позволяет выбрать область применения: весь фронтенд или только одиночные записи и страницы.
  • Позволяет отключить работу типографа отдельно для уровней h1-h6 и отдельно для заголовков, проходящих через the_title().

Что не делает

  • Не склеивает массово существительные с прилагательными.
  • Не включает widow protection для последних слов абзаца.
  • Не поставляет локальные .po/.mo файлы: исходные строки интерфейса на английском и обёрнуты gettext-функциями WordPress; русский перевод должен приходить через языковые пакеты WordPress.org после публикации.
  • Не меняет содержимое code, kbd, pre, samp, script, style, textarea.
  • Не обрабатывает REST API, feeds, AJAX и админку.
  • В режиме «Только одиночные записи и страницы» не обрабатывает карточки, архивы и главную ленту.

Настройки

Настройки доступны в админке WordPress: Settings → Russian Typography. После появления русского языкового пакета эти строки будут переводиться для сайтов с русской локалью.

  • Только одиночные записи и страницы: обрабатываются основной текст, заголовок и комментарии на страницах записей и страниц. Карточки, архивы и главная лента не меняются.
  • Весь фронтенд: типографика применяется к записям, страницам, карточкам, архивам, заголовкам, анонсам и комментариям на всём фронтенде.
  • Disable typography in headings: позволяет выбрать уровни h1-h6, внутри которых текст не обрабатывается типографом вообще. Исходная строка интерфейса английская; русский текст должен приходить через локализацию WordPress.
  • Disable typography in post and card titles: полностью пропускает заголовки, которые выводятся через the_title(), включая H1 записи, карточки, архивы и связанные материалы.
  • Склейка коротких слов: мягкий режим: склеивает только односимвольные служебные слова в, к, с, у, о, и, а и только если следующее слово не длиннее заданного порога. Значение по умолчанию: 10 символов.
  • Склейка коротких слов: полный режим: склеивает короткие предлоги, союзы, частицы и местоимения со связанным словом, чтобы не разрывать смысловые связки. Если следующее слово длиннее заданного порога, пробел остаётся обычным. Значение по умолчанию: 14 символов.
  • Склейка коротких слов: Standart: имитирует поведение Типографа Артемия Лебедева только по пробелам. Этот режим не обращается к внешнему сервису, не меняет кавычки, тире, пунктуацию и сохранённый текст.
  • Склейка коротких слов: выключено: не склеивает короткие слова, но оставляет активными исторические сокращения и числа с единицами.

Режимы пробелов

  • soft: консервативно склеивает односимвольные служебные слова со следующим словом, если следующее слово не длиннее заданного лимита.
  • full: склеивает короткие предлоги, союзы, частицы и местоимения со связанным словом; для узких экранов применяется отдельный лимит длины следующего слова.
  • standart: локально имитирует только пробелы Типографа Артемия Лебедева. Режим не обращается к внешнему сервису и не меняет кавычки, тире, пунктуацию или сохраненный текст.
  • off: не склеивает короткие слова, но оставляет включенными правила для исторических сокращений и чисел с единицами.

Дополнительные правила пробелов

  • Исторические сокращения: н. э., до н. э., г., гг..
  • Века и даты: V век, 20 века, 421 г. до н. э..
  • Числа с единицами, процентами и разрядами: 5 км, 3 %, 65 536.
  • Инициалы и тире в режиме standart: когда К. пришёл, слово — продолжение.

Требования

  • WordPress 7.0 или новее.
  • PHP 8.0 или новее.

Лицензия

GPLv2 or later.

Полный текст лицензии находится в файле LICENSE.

Проверки перед публикацией

В standalone-репозитории проверки запускаются напрямую, без composer tooling:

php tests/russian-typography/readme.php
php tests/russian-typography/typography.php
php tests/russian-typography/uninstall.php
find . -name '*.php' -not -path './vendor/*' -print0 | xargs -0 -n1 php -l
git diff --check

Перед сборкой production-пакета проверьте, что в архив попадают только runtime-файлы плагина: russian-typography.php, includes/, README.md, readme.txt, LICENSE, IMPROVEMENTS.md и uninstall.php.

Read the full README on GitHub →