drnachio/postext
drnachio
Движок вёрстки для веба: превращает семантический markdown с ресурсами в публикационную вёрстку для HTML, PDF и EPUB по типографским правилам.
postext — это программируемый типограф для веба, который применяет профессиональные правила печатной вёрстки к семантическому markdown. Инструмент нужен разработчикам и издателям, которым требуется публикационное качество вывода в HTML, PDF и EPUB.
Ключевые возможности
- Разбор обогащённого markdown с изображениями, таблицами, формулами и врезками
- Измерение текста без DOM на основе @chenglou/pretext
- Алгоритм вёрстки с балансировкой колонок и расстановкой ресурсов
- Контроль типографских правил: запрет висячих строк и корректные сноски
- Формат-независимая геометрия вёрстки для разных рендереров
- Вывод в HTML/CSS, PDF, EPUB 3 и 3D-книгу в браузере
Для каких задач подходит
- Вёрстка книг и журналов с выводом в PDF для печати
- Генерация EPUB для электронных читалок из markdown-исходников
- Публикация статей и отчётов на сайте с типографским качеством
- Создание документов с формулами, таблицами и перекрёстными ссылками
- Прототипирование вёрстки через конфигурационные файлы без ручной правки
Подробнее
postext принимает на вход обогащённый markdown, в котором контент описан семантически: что показать, а не как. Движок разбирает структуру, измеряет текст через @chenglou/pretext без обращения к DOM, а затем применяет алгоритм вёрстки с балансировкой колонок, размещением ресурсов и типографскими правилами. На выходе получается формат-независимая геометрия — точные координаты и размеры каждого элемента, которую рендереры переводят в HTML/CSS, PDF, EPUB 3 или 3D-книгу в браузере. Поведение вёрстки задаётся конфигурационными файлами: колонки, правила, отступы.
Отличие от типовых генераторов PDF и сайтов в том, что postext не привязан к одному формату вывода и не требует ручной правки вёрстки под каждый носитель. Инструмент ориентирован на публикационное качество: запрет висячих строк, баланс колонок, обтекание текста вокруг врезок и корректное размещение сносок. Это делает его ближе к профессиональным типографским системам, чем к обычным конвертерам markdown.
Стоит учитывать, что проект молодой (11 звёзд на GitHub) и распространяется по лицензии MIT. Для работы нужен Node.js и пакет postext из npm; документация и примеры доступны на postext.dev. Поскольку движок строит геометрию, а рендеринг вынесен в отдельные рендереры, для нестандартного вывода может потребоваться собственный рендерер.
Частые вопросы
Как установить postext?
Основная команда установки из README:
npm install postextКакие задачи решает postext?
postext решает задачу публикационной вёрстки из семантического markdown: он рассчитывает геометрию страниц с учётом колонок, врезок и сносок. Инструмент позволяет получать согласованный вывод в HTML, PDF и EPUB из одного исходника без ручной правки под каждый формат.
Какие требования для запуска postext?
Проект написан на TypeScript и распространяется как npm-пакет postext, поэтому нужен Node.js. Для измерения текста используется @chenglou/pretext, который устанавливается как зависимость.
Можно ли использовать postext в коммерческих проектах?
Да, проект распространяется по лицензии MIT, которая разрешает коммерческое использование при сохранении уведомления об авторских правах.
Чем postext отличается от обычного конвертера markdown в PDF?
postext сначала строит формат-независимую геометрию вёрстки по типографским правилам, а затем рендереры переводят её в HTML, PDF или EPUB. Обычные конвертеры сразу формируют вывод в одном формате и не применяют правил вроде балансировки колонок и запрета висячих строк.
О репозитории
Язык
Лицензия
Звёзды
11
Форки
1
Открытые issues
5
Контрибьюторы
0
Создан
06.04.2026
Обновлён
24.10.2026