Russian Typography
WordPress-плагин для склейки русских предлогов и коротких служебных слов неразрывными пробелами.
by gogolevmatvey · github.com/gogolevmatvey/russian-typography
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.zipReadme
Русская типографика
Обычный 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.