| name | lorem-ipsum-generator |
| description | Generate placeholder text (lorem ipsum) in various formats. Create paragraphs, sentences, words, or custom templates for mockups and testing. |
Lorem Ipsum Generator
Generate placeholder text for mockups, wireframes, and testing purposes.
Features
- Classic Lorem: Traditional lorem ipsum text
- Multiple Formats: Paragraphs, sentences, words, lists
- Custom Length: Specify exact word/sentence/paragraph counts
- HTML Output: Generate with HTML tags
- Alternative Sources: Hipster, bacon, corporate ipsum variations
- Templates: Fill templates with placeholder text
Quick Start
from lorem_gen import LoremGenerator
gen = LoremGenerator()
# Generate paragraphs
text = gen.paragraphs(3)
print(text)
# Generate sentences
sentences = gen.sentences(5)
print(sentences)
# Generate words
words = gen.words(50)
print(words)
CLI Usage
# Generate 3 paragraphs
python lorem_gen.py --paragraphs 3
# Generate 5 sentences
python lorem_gen.py --sentences 5
# Generate 100 words
python lorem_gen.py --words 100
# HTML output
python lorem_gen.py --paragraphs 3 --html
# Generate bullet list
python lorem_gen.py --list 5
# Generate with specific word count per paragraph
python lorem_gen.py --paragraphs 3 --words-per 50
# Alternative style
python lorem_gen.py --paragraphs 3 --style hipster
# Save to file
python lorem_gen.py --paragraphs 5 --output placeholder.txt
API Reference
LoremGenerator Class
class LoremGenerator:
def __init__(self, style: str = "classic")
# Basic generation
def paragraphs(self, count: int = 3, words_per: int = None) -> str
def sentences(self, count: int = 5) -> str
def words(self, count: int = 50) -> str
# Structured output
def list_items(self, count: int = 5, ordered: bool = False) -> str
def heading(self, level: int = 1) -> str
def title(self, words: int = 4) -> str
# HTML output
def html_paragraphs(self, count: int = 3) -> str
def html_list(self, count: int = 5, ordered: bool = False) -> str
def html_article(self, sections: int = 3) -> str
# Templates
def fill_template(self, template: str) -> str
# Configuration
def set_style(self, style: str) -> 'LoremGenerator'
Output Formats
Paragraphs
text = gen.paragraphs(2)
# Output:
# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do
# eiusmod tempor incididunt ut labore et dolore magna aliqua.
#
# Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
# nisi ut aliquip ex ea commodo consequat.
Sentences
text = gen.sentences(3)
# Output:
# Lorem ipsum dolor sit amet. Consectetur adipiscing elit. Sed do eiusmod tempor.
Words
text = gen.words(10)
# Output:
# Lorem ipsum dolor sit amet consectetur adipiscing elit sed do
Lists
# Unordered list
text = gen.list_items(3)
# - Lorem ipsum dolor sit amet
# - Consectetur adipiscing elit
# - Sed do eiusmod tempor
# Ordered list
text = gen.list_items(3, ordered=True)
# 1. Lorem ipsum dolor sit amet
# 2. Consectetur adipiscing elit
# 3. Sed do eiusmod tempor
HTML Output
HTML Paragraphs
html = gen.html_paragraphs(2)
# <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
# <p>Sed do eiusmod tempor incididunt ut labore.</p>
HTML List
html = gen.html_list(3, ordered=False)
# <ul>
# <li>Lorem ipsum dolor sit amet</li>
# <li>Consectetur adipiscing elit</li>
# <li>Sed do eiusmod tempor</li>
# </ul>
HTML Article
html = gen.html_article(sections=2)
# <article>
# <h1>Lorem Ipsum Dolor</h1>
# <p>Lorem ipsum dolor sit amet...</p>
# <h2>Consectetur Adipiscing</h2>
# <p>Ut enim ad minim veniam...</p>
# </article>
Text Styles
Classic Lorem Ipsum
Traditional Latin placeholder text:
gen = LoremGenerator(style="classic")
Hipster Ipsum
Trendy, modern vocabulary:
gen = LoremGenerator(style="hipster")
# "Artisan cold-pressed pour-over, sustainable raw denim..."
Corporate Ipsum
Business jargon:
gen = LoremGenerator(style="corporate")
# "Leverage agile frameworks to provide robust synopsis..."
Tech Ipsum
Technology-focused text:
gen = LoremGenerator(style="tech")
# "API endpoints serverless microservices kubernetes..."
Templates
Fill templates with placeholder text:
template = """
# {{title}}
{{paragraph}}
## Features
{{list:5}}
## Details
{{paragraph}}
{{paragraph}}
"""
result = gen.fill_template(template)
Template Placeholders
| Placeholder | Output |
|---|---|
{{title}} |
3-5 word title |
{{heading}} |
Section heading |
{{paragraph}} |
Single paragraph |
{{sentence}} |
Single sentence |
{{words:N}} |
N words |
{{list:N}} |
N list items |
{{name}} |
Random name |
{{email}} |
Random email |
{{date}} |
Random date |
Specific Word Counts
Control exact word count per paragraph:
# Each paragraph will have exactly 50 words
text = gen.paragraphs(3, words_per=50)
# Generate exactly 200 words
text = gen.words(200)
Example Workflows
Mockup Text Generation
gen = LoremGenerator()
# Generate blog post mockup
title = gen.title(words=6)
intro = gen.paragraphs(1, words_per=100)
body = gen.paragraphs(3, words_per=150)
conclusion = gen.paragraphs(1, words_per=75)
print(f"# {title}\n\n{intro}\n\n{body}\n\n{conclusion}")
HTML Page Content
gen = LoremGenerator()
html = f"""
<!DOCTYPE html>
<html>
<body>
<header>
<h1>{gen.title()}</h1>
</header>
<main>
{gen.html_paragraphs(3)}
<h2>Features</h2>
{gen.html_list(5)}
{gen.html_paragraphs(2)}
</main>
</body>
</html>
"""
Test Data Generation
gen = LoremGenerator()
# Generate test articles
articles = []
for i in range(10):
articles.append({
"title": gen.title(),
"excerpt": gen.sentences(2),
"body": gen.paragraphs(5),
"tags": gen.words(3).split()
})
Dependencies
- faker>=22.0.0 (optional, for enhanced fake data)