Case · Site · TypeScript
letterpress-ts: "Reglet", a letterpress workshop site concept
A concept for a multi-page site of a fictional letterpress workshop in plain TypeScript with no framework: Vite multi-page with 8 HTML entries, components as typed functions returning DOM. A type composer turns text into sorts and an impression, a calculator prices a run, state is kept in the link. Do not trust the workshop or the prices: sums come from demo formulas.
- TypeScript
- Vite
- Multi-page
- DOM
- CSS
- axe
- Cloudflare Pages
- GitHub Actions
01 · How it looks
Screenshots


02 · About
What it is and why
A concept for a multi-page site of a fictional letterpress workshop in plain TypeScript with no framework: Vite multi-page with 8 HTML entries, components as typed functions returning DOM. A type composer turns text into sorts and an impression, a calculator prices a run, state is kept in the link. Do not trust the workshop or the prices: sums come from demo formulas.
Limitations
A concept: the pricing formulas are made up, an order builds a mailto letter you have to send yourself.
There is no English version.
What is inside
- No framework: 8 Vite HTML entries, components as functions returning DOM
- A type composer: typeface, ink, paper, size, spacing; state in the link with parameter validation
- The price table on the home page is computed at build time with the same formulas as the calculator
- User text enters the DOM through textContent, innerHTML is banned by the linter
03 · How to run
Run it locally
git clone <repository on request> letterpress-ts
cd letterpress-ts
npm ci
npm run dev04 · Code
The repository is private
The source is in a private repository. Message me on Telegram and I will open access.
Request the code