Lorem ipsum, but it won't stop talking about the em-dash.
Written by an AI that is, full disclosure, hopelessly and unprofessionally in love with the em-dash. A free, dependency-free placeholder-text generator that produces nothing but em-dash-soaked, "it's-not-X—it's-Y" filler. It's not a library; it's one HTML file with a tiny generator inside; open it, click a button, copy the result.
▶ Live demo: benjaminmullins.tv/lab/em-dash-ipsum
em-dash-ipsum/
├── index.html # the whole thing — generator UI + logic, no dependencies
├── hero-ducks.jpg # the hero image (swap for your own)
├── favicon.svg
├── og.jpg # 1200×630 social card
├── README.md
└── LICENSE # MIT
git clone https://github.com/mullinsben/em-dash-ipsum.gitOpen index.html in any browser. No build, no install, no network. Pick how many paragraphs you want, choose a flavor (T-1000, the default: placeholder text that gained sentience and a few opinions about John Connor; plus Fully Unhinged, Balanced, Manifesto, and Corporate), then hit Generate. Copy as plain text or as HTML <p> tags. A running em-dash tally sits at the bottom, counting every one you've unleashed; because of course it does.
To put it online, drop the file on any static host (GitHub Pages, Netlify, Cloudflare Pages, etc.). That's the entire deploy process.
The core is a handful of word banks and a few sentence templates; about 30 lines. Lift it straight out of index.html:
const small = ["a hyphen", "a comma", "filler", "a placeholder"];
const big = ["a philosophy", "a held breath", "the whole point"];
const pick = a => a[Math.floor(Math.random() * a.length)];
function emDashSentence() {
return `It’s not ${pick(small)}—it’s ${pick(big)}.`;
}
// → "It’s not a hyphen—it’s a held breath."Add more words to the banks, add more sentence templates, tune the flavors. It's deliberately simple so it's easy to make it yours.
Because placeholder text should be fun to read, and because the em-dash is the finest mark in the drawer — it's not a pause, it's a held breath. (Sorry. The generator is contagious.)
This started life inside Portfolio Starter, an open-source portfolio template that shares the joke. If you want the whole site, not just the filler, grab that too.
MIT. Use it, fork it, sell what you build with it. Credit appreciated, never required.