A clean, themeable placeholder text generator built with React + Vite and hosted on GitHub Pages.
Live app: https://Gilmoursa.github.io/lorem-ipsum-generator/
- 5 Themes — Classic, Food, Technology, Medicine, Literature. Each theme has its own curated word bank that gives generated text a distinct flavor.
- 3 Output types — Paragraphs, Sentences, or Words. Switch between them and the count range adjusts automatically.
- Adjustable count — Use the slider or type a number directly. Ranges: 1–20 paragraphs, 1–50 sentences, 10–500 words.
- Classic opening — Optionally prepend the traditional "Lorem ipsum dolor sit amet, consectetur adipiscing elit." opener to any output.
- Copy to clipboard — One-click copy of the full generated text.
- Dark mode — Toggle between light and dark themes. The preference applies immediately with no page reload.
- Fully responsive — Works on desktop, tablet, and mobile.
| Layer | Tool |
|---|---|
| Framework | React 19 |
| Build tool | Vite 8 |
| Deployment | GitHub Pages via gh-pages |
| Language | JavaScript (ES modules) |
| Styling | Plain CSS with CSS custom properties (no framework) |
- Node.js 18 or later
- npm
git clone https://github.com/Gilmoursa/lorem-ipsum-generator.git
cd lorem-ipsum-generator
npm install
npm run devThe dev server starts at http://localhost:5173.
npm run buildOutput goes to dist/.
npm run deployThis runs npm run build first (via the predeploy script), then pushes the dist/ folder to the gh-pages branch.
lorem-ipsum-generator/
├── src/
│ ├── data/
│ │ └── wordBanks.js # Word banks and text generation logic
│ ├── App.jsx # Main application component
│ ├── App.css # Component styles + light/dark theme variables
│ └── index.css # Global reset
├── index.html
├── vite.config.js
└── package.json
Built by Austin Gilmour.
MIT — see LICENSE for details.
See CONTRIBUTING.md.