Horizontal Ruler Component
Add elegant, animated section dividers to your Astro MDX blog posts. Perfect for separating sections or adding visual breaks.
📦 Import the Components
import HorizontalRuler from "@/react/HorizontalRuler/HorizontalRuler.jsx";or with relative path:
import HorizontalRuler from "../../react/HorizontalRuler/HorizontalRuler.jsx";Important: Use
.mdxextension (not.md) when working with React components.
🚀 Basic Usage
Simply add the component anywhere in your MDX:
<HorizontalRuler />That’s it! The ruler automatically adapts to your site’s theme (light/dark mode).
🎨 Variants
Choose from 6 beautiful styles:
Flowers (Default)
<HorizontalRuler variant="flowers" />Delicate floral design with 🌸🌼🌺🌻🌷
Stars
<HorizontalRuler variant="stars" />Celestial theme with ⭐✨💫🌟
Hearts
<HorizontalRuler variant="hearts" />Colorful hearts with 💚💛💙💜
Geometric
<HorizontalRuler variant="geometric" />Clean geometric shapes with ◆◇
Dots
<HorizontalRuler variant="dots" />Minimalist dot pattern
Minimal
<HorizontalRuler variant="minimal" />Ultra-minimal dash style
📏 Sizes
Control the height and icon size:
Small
<HorizontalRuler size="small" />Medium (Default)
<HorizontalRuler size="medium" />Large
<HorizontalRuler size="large" />📐 Spacing
Adjust the vertical spacing around the ruler:
Tight
<HorizontalRuler spacing="tight" />Less vertical space (20px top/bottom)
Normal (Default)
<HorizontalRuler spacing="normal" />Standard spacing (40px top/bottom)
Loose
<HorizontalRuler spacing="loose" />More vertical space (60px top/bottom)
🎨 Custom Colors
Auto Color (Default)
Adapts to theme automatically:
<HorizontalRuler color="auto" />Custom Colors
<HorizontalRuler color="#ec4899" variant="hearts" /><HorizontalRuler color="#3b82f6" variant="stars" /><HorizontalRuler color="#8b5cf6" variant="geometric" />⚙️ Props Reference
| Prop | Type | Default | Options | Description |
|---|---|---|---|---|
variant | string | ”flowers” | flowers, stars, dots, hearts, geometric, minimal | Visual style |
size | string | ”medium” | small, medium, large | Height and icon size |
spacing | string | ”normal” | tight, normal, loose | Vertical spacing |
color | string | ”auto” | auto, any hex color | Icon color |
💡 Usage Examples
Blog Post Header
Use after the title to separate header from content:
---title: "My Awesome Blog Post"---
# My Awesome Blog Post
<HorizontalRuler variant="flowers" spacing="tight" />
Your blog content starts here...Section Dividers
Separate major sections in long posts:
## Introduction
Content here...
<HorizontalRuler variant="stars" />
## Main Content
More content...
<HorizontalRuler variant="stars" />
## Conclusion
Final thoughts...End of Post
Mark the end of your blog post:
Thanks for reading!
<HorizontalRuler variant="hearts" size="large" />
*Published on October 22, 2025*Combine with Other Components
Works great with other components:
<Tabs defaultValue="tab1" client:load> <TabItem value="tab1" label="First"> Content... </TabItem></Tabs>
<HorizontalRuler variant="geometric" spacing="loose" />
<Dropdown client:load> <DropdownOption value="opt1" label="Option"> Content... </DropdownOption></Dropdown>🎯 Design Tips
1. Match Your Theme
Choose variants that complement your blog’s aesthetic:
- Modern/Tech blogs:
geometricorminimal - Creative/Art blogs:
flowersorstars - Personal blogs:
heartsorflowers - Professional blogs:
dotsorminimal
2. Consistent Usage
Pick 1-2 variants and use them consistently throughout your blog for a cohesive look.
3. Size Matters
- Headers: Use
size="small"withspacing="tight" - Section breaks: Use
size="medium"withspacing="normal" - Dramatic breaks: Use
size="large"withspacing="loose"
4. Color Coordination
Let the ruler use color="auto" to match your theme, or set custom colors to match your brand.
✨ Features
- ✅ Auto theme detection - Adapts to light/dark mode
- ✅ Smooth animations - Gentle floating effect
- ✅ Fully customizable - Variants, sizes, spacing, colors
- ✅ Responsive - Works on all screen sizes
- ✅ Zero dependencies - Pure React
- ✅ Lightweight - Minimal performance impact
🎨 Creative Combinations
Mix different props for unique styles:
📝 Quick Reference
Common Patterns
// After title<HorizontalRuler variant="flowers" spacing="tight" />
// Between sections<HorizontalRuler variant="stars" />
// End of post<HorizontalRuler variant="hearts" size="large" />
// Minimal divider<HorizontalRuler variant="minimal" size="small" />
// Custom themed<HorizontalRuler variant="geometric" color="#3b82f6" />🎉 Start Using Today!
Add beautiful, animated section dividers to your Astro MDX blog posts with just one line of code. Perfect for creating visual hierarchy and improving readability.
Happy blogging! ✨