Кейс · Сайт · TypeScript
letterpress-ts: «Реглет», концепт сайта печатной мастерской
Концепт многостраничного сайта вымышленной мастерской высокой печати на чистом TypeScript без фреймворка: Vite multi-page с 8 HTML-входами, компоненты как типизированные функции, возвращающие DOM. Конструктор набора превращает текст в литеры и оттиск, калькулятор считает тираж, состояние хранится в ссылке. Мастерской и ценам верить не нужно: суммы по демо-формулам.
- TypeScript
- Vite
- Multi-page
- DOM
- CSS
- axe
- Cloudflare Pages
- GitHub Actions
01 · Как выглядит
Скриншоты


02 · О проекте
Что это и зачем
Концепт многостраничного сайта вымышленной мастерской высокой печати на чистом TypeScript без фреймворка: Vite multi-page с 8 HTML-входами, компоненты как типизированные функции, возвращающие DOM. Конструктор набора превращает текст в литеры и оттиск, калькулятор считает тираж, состояние хранится в ссылке. Мастерской и ценам верить не нужно: суммы по демо-формулам.
Ограничения
Концепт: формулы расчёта вымышлены, заказ формирует письмо mailto, отправить его нужно самому.
Английской версии нет.
Что внутри
- Без фреймворка: 8 HTML-входов Vite, компоненты как функции, возвращающие DOM
- Конструктор набора: гарнитура, краска, бумага, кегль, шпации; состояние в ссылке и проверка параметров
- Таблица цен на главной считается при сборке теми же формулами, что калькулятор
- Пользовательский текст попадает в DOM через textContent, innerHTML запрещён линтером
03 · Как запустить
Запуск одной командой
git clone <репозиторий по запросу> letterpress-ts
cd letterpress-ts
npm ci
npm run dev04 · Код
Репозиторий приватный
Исходники лежат в приватном репозитории. Напишите в Telegram, открою доступ.
Запросить код