refactor: consolidate database structure and move injector to engine
Database Structure Cleanup: - Move all SQL files from ./db/ to ./internal/db/ - Update sqlc.yaml to use new paths (preserving schema+setup.sql hack) - Consolidate database-related code in single directory - Remove empty ./db/ directory Injector Migration: - Move injector.go from content package to engine package - Update ContentClient interface to return map instead of slice for GetBulkContent - Update database client implementation to match interface - Remove injector dependency from enhancer (stub implementation) Demo-Site Consolidation: - Move demo-site to test-sites/demo-site for better organization - Update build scripts to use new demo-site location - Maintain all functionality while improving project structure This continues the unified architecture consolidation by moving core content processing logic to the engine and organizing related files properly.
This commit is contained in:
115
test-sites/demo-site/README.md
Normal file
115
test-sites/demo-site/README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Insertr Demo Site
|
||||
|
||||
This is a prototype demonstration of the Insertr edit-in-place CMS system.
|
||||
|
||||
## What is Insertr?
|
||||
|
||||
Insertr allows developers to make any website content editable by simply adding a CSS class. Clients can then log in and edit content directly on their website without needing to learn a complex admin interface.
|
||||
|
||||
## Three User Types
|
||||
|
||||
### 1. The Customer (End User)
|
||||
- Sees a clean, professional website
|
||||
- No editing interface visible
|
||||
- Fast loading with minimal overhead
|
||||
|
||||
### 2. The Client (Content Manager)
|
||||
- Logs in to see the same website with subtle edit buttons
|
||||
- Clicks edit buttons to modify content inline
|
||||
- Can edit both simple text and rich markdown content
|
||||
- Changes are saved immediately
|
||||
|
||||
### 3. The Developer (You)
|
||||
- Simple integration: just add `class="insertr"` and `data-content-id="unique-id"`
|
||||
- No complex setup or framework dependencies
|
||||
- Works with any existing website
|
||||
|
||||
## Demo Instructions
|
||||
|
||||
1. **Open `index.html` in your browser** - You'll see the customer view
|
||||
2. **Click "Login as Client"** - This simulates authentication
|
||||
3. **Click "Edit Mode: Off" to turn on editing** - Now you'll see edit buttons (✏️) appear
|
||||
4. **Click any edit button** to modify content
|
||||
5. **Try both simple text and rich content** (marked with 📝)
|
||||
6. **Navigate to `about.html`** to see how it works across pages
|
||||
|
||||
## Technical Details
|
||||
|
||||
### For Developers
|
||||
|
||||
To make content editable, just add the insertr class and data attribute:
|
||||
|
||||
```html
|
||||
<!-- Simple text content -->
|
||||
<div class="insertr" data-content-id="hero-title">
|
||||
<h1>Your Website Title</h1>
|
||||
</div>
|
||||
|
||||
<!-- Rich content with markdown -->
|
||||
<div class="insertr" data-content-id="about-text" data-content-type="rich">
|
||||
<h2>About Us</h2>
|
||||
<p>We help businesses succeed...</p>
|
||||
</div>
|
||||
```
|
||||
|
||||
### Integration
|
||||
|
||||
Include the Insertr library in your HTML:
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="insertr/insertr.css">
|
||||
<script src="insertr/insertr.js"></script>
|
||||
```
|
||||
|
||||
That's it! The library will automatically scan for editable elements and set up the editing interface.
|
||||
|
||||
## Current Features
|
||||
|
||||
- ✅ Edit-in-place for simple text content
|
||||
- ✅ Markdown editing for rich content
|
||||
- ✅ Mock authentication (login/logout)
|
||||
- ✅ Edit mode toggle
|
||||
- ✅ Local storage persistence
|
||||
- ✅ Visual feedback for saving
|
||||
- ✅ Multi-page support
|
||||
- ✅ Responsive design
|
||||
|
||||
## Planned Features
|
||||
|
||||
- [ ] Real backend API integration
|
||||
- [ ] Authentik OAuth integration
|
||||
- [ ] File upload and image management
|
||||
- [ ] Content versioning and rollback
|
||||
- [ ] Multi-user permissions
|
||||
- [ ] Admin dashboard
|
||||
- [ ] Git-based deployment
|
||||
|
||||
## Architecture
|
||||
|
||||
This prototype demonstrates the frontend experience. The full system will include:
|
||||
|
||||
- **Go backend** with REST API
|
||||
- **File-based content storage** with Git versioning
|
||||
- **Authentik OAuth** for secure authentication
|
||||
- **Multi-tenant support** for hosting multiple client sites
|
||||
- **Developer tools** for easy integration
|
||||
|
||||
## Files Structure
|
||||
|
||||
```
|
||||
demo-site/
|
||||
├── index.html # Homepage demo
|
||||
├── about.html # Additional page demo
|
||||
├── assets/
|
||||
│ └── style.css # Demo site styling
|
||||
├── insertr/
|
||||
│ ├── insertr.js # Core library
|
||||
│ ├── insertr.css # Edit interface styling
|
||||
│ └── components/ # Future: edit components
|
||||
└── mock-api/
|
||||
└── content.json # Mock backend data structure
|
||||
```
|
||||
|
||||
## Try It Now!
|
||||
|
||||
Open `index.html` in your browser and experience the three different user views by using the authentication controls in the top right corner.
|
||||
137
test-sites/demo-site/about.html
Normal file
137
test-sites/demo-site/about.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html><html lang="en"><head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>About - Acme Consulting Services</title>
|
||||
<link rel="stylesheet" href="assets/style.css"/>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar">
|
||||
<div class="container">
|
||||
<h1 class="logo insertr" data-content-id="about-logo-bf9558" data-content-type="text">Acme Consulting</h1>
|
||||
<ul class="nav-links">
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
<li><a href="contact.html">Contact</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<h1 class="insertr" data-content-id="about-h1-b0851a" data-content-type="text">About Acme Consulting</h1>
|
||||
<p class="lead insertr" data-content-id="about-lead-ccc316" data-content-type="markdown">We're a team of experienced consultants dedicated to helping small businesses thrive in today's competitive marketplace.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Story Section -->
|
||||
<section class="services">
|
||||
<div class="container">
|
||||
<h2 class="insertr" data-content-id="about-h2-246854" data-content-type="text">Our Story</h2>
|
||||
<div class="insertr-group">
|
||||
<p>Founded in 2020, Acme Consulting emerged from a simple observation: small businesses needed access to the same high-quality strategic advice that large corporations receive, but in a format that was accessible, affordable, and actionable.</p>
|
||||
|
||||
<p>Our founders, with combined experience of over 30 years in business strategy, operations, and technology, recognized that the traditional consulting model wasn't serving the needs of growing businesses. We set out to change that.</p>
|
||||
|
||||
<p>Today, we've helped over **200 businesses** streamline their operations, clarify their strategy, and achieve sustainable growth. Our approach combines proven methodologies with a deep understanding of the unique challenges facing small to medium-sized businesses.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Team Section -->
|
||||
<section class="cta">
|
||||
<div class="container">
|
||||
<h2 class="insertr" data-content-id="about-h2-2-f16ab1" data-content-type="text">Our Team</h2>
|
||||
<p class="insertr" data-content-id="about-p-0e26bc" data-content-type="markdown">We're a diverse group of strategists, operators, and technology experts united by our passion for helping businesses succeed.</p>
|
||||
|
||||
<div class="services-grid" style="margin-top: 3rem;">
|
||||
<div class="service-card">
|
||||
<div class="insertr">
|
||||
<h3>Sarah Chen</h3>
|
||||
<p><strong>Founder & CEO</strong></p>
|
||||
<p>Former <strong>McKinsey consultant</strong> with 15 years of experience in strategy and operations. MBA from Stanford.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-card">
|
||||
<div class="insertr">
|
||||
<h3>Michael Rodriguez</h3>
|
||||
<p><strong>Head of Operations</strong></p>
|
||||
<p>20 years in manufacturing and supply chain optimization. Expert in <strong>lean methodologies</strong> and process improvement.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-card">
|
||||
<div class="insertr">
|
||||
<h3>Emma Thompson</h3>
|
||||
<p><strong>Digital Strategy Lead</strong></p>
|
||||
<p>Former tech startup founder turned consultant. Specializes in <em>digital transformation</em> and technology adoption.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Values Section -->
|
||||
<section class="testimonial">
|
||||
<div class="container">
|
||||
<h2 class="insertr" style="margin-bottom: 2rem;" data-content-id="about-h2-3-893efa" data-content-type="text">Our Values</h2>
|
||||
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; text-align: left;">
|
||||
<div>
|
||||
<h3 class="insertr" data-content-id="about-h3-4-07ce1b" data-content-type="text">Client-First</h3>
|
||||
<p class="insertr" data-content-id="about-p-2-9f60dd" data-content-type="markdown">Every recommendation we make is designed with your specific business context and goals in mind.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="insertr" data-content-id="about-h3-5-07ce1b" data-content-type="text">Practical Solutions</h3>
|
||||
<p class="insertr" data-content-id="about-p-3-9f60dd" data-content-type="markdown">We believe in strategies that you can actually implement with your current resources and capabilities.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="insertr" data-content-id="about-h3-6-07ce1b" data-content-type="text">Long-term Partnership</h3>
|
||||
<p class="insertr" data-content-id="about-p-4-9f60dd" data-content-type="markdown">We're not just consultants; we're partners in your business success for the long haul.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Test Section for Insertr Features -->
|
||||
<section class="testimonial">
|
||||
<div class="container">
|
||||
<h2 class="insertr" data-content-id="about-h2-4-893efa" data-content-type="text">Feature Tests</h2>
|
||||
|
||||
<!-- Test 1: .insertr container expansion (should make each p individually editable) -->
|
||||
<div style="margin-bottom: 2rem;">
|
||||
<h3>Test 1: Container Expansion (.insertr)</h3>
|
||||
<div class="insertr" style="border: 2px dashed #ccc; padding: 1rem;">
|
||||
<p>This paragraph should be individually editable with a textarea.</p>
|
||||
<p>This second paragraph should also be individually editable.</p>
|
||||
<p>Each paragraph should get its own modal when clicked.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Test 2: .insertr-group collective editing (should edit all together) -->
|
||||
<div>
|
||||
<h3>Test 2: Group Editing (.insertr-group)</h3>
|
||||
<div class="insertr-group" style="border: 2px solid #007cba; padding: 1rem;">
|
||||
<p>This paragraph is part of a <strong>group</strong>.</p>
|
||||
<p>Clicking anywhere should open one markdown editor with <em>rich formatting</em>.</p>
|
||||
<p>All content should be <strong>editable together</strong> as markdown with proper <em>HTML conversion</em>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="insertr" data-content-id="about-p-8-c093f3" data-content-type="markdown">© 2024 Acme Consulting Services. All rights reserved.</p>
|
||||
<p class="insertr" data-content-id="about-p-9-c093f3" data-content-type="markdown">📧 info@acmeconsulting.com | 📞 (555) 123-4567 | <button class="insertr-gate" style="background: none; border: 1px solid #ccc; padding: 4px 8px; margin-left: 10px; border-radius: 3px; font-size: 11px;">🔧 Edit</button></p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Insertr JavaScript Library -->
|
||||
<script type="text/javascript" src="insertr.js"></script>
|
||||
|
||||
|
||||
|
||||
</body></html>
|
||||
88
test-sites/demo-site/archive/mock-api/content.json
Normal file
88
test-sites/demo-site/archive/mock-api/content.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"site": {
|
||||
"id": "acme-consulting",
|
||||
"domain": "acmeconsulting.example.com",
|
||||
"owner": "client@acmeconsulting.com",
|
||||
"created": "2024-01-15T10:30:00Z",
|
||||
"updated": "2024-01-29T14:22:00Z"
|
||||
},
|
||||
"content": {
|
||||
"nav-logo": {
|
||||
"type": "simple",
|
||||
"value": "Acme Consulting",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"hero-content": {
|
||||
"type": "rich",
|
||||
"value": "# Transform Your Business with Expert Consulting\n\nWe help small businesses grow through strategic planning, process optimization, and digital transformation. Our team brings 15+ years of experience to drive your success.\n\n[Get Started Today](contact.html)",
|
||||
"updated": "2024-01-20T09:15:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"services-title": {
|
||||
"type": "rich",
|
||||
"value": "## Our Services\n\nComprehensive solutions tailored to your business needs",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"service-strategy": {
|
||||
"type": "rich",
|
||||
"value": "### Strategic Planning\n\nDevelop clear roadmaps and actionable strategies that align with your business goals and drive sustainable growth.",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"service-operations": {
|
||||
"type": "rich",
|
||||
"value": "### Operations Optimization\n\nStreamline processes, reduce costs, and improve efficiency through proven methodologies and best practices.",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"service-digital": {
|
||||
"type": "rich",
|
||||
"value": "### Digital Transformation\n\nModernize your technology stack and digital presence to compete effectively in today's marketplace.",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"testimonial-content": {
|
||||
"type": "rich",
|
||||
"value": "> \"Acme Consulting transformed our operations completely. We saw a 40% increase in efficiency within 6 months of implementing their recommendations.\"\n> \n> — Sarah Johnson, CEO of TechStart Inc.",
|
||||
"updated": "2024-01-25T16:45:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"cta-content": {
|
||||
"type": "rich",
|
||||
"value": "## Ready to Transform Your Business?\n\nContact us today for a free consultation and discover how we can help you achieve your goals.\n\n[Schedule Consultation](contact.html)",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
},
|
||||
"footer-info": {
|
||||
"type": "simple",
|
||||
"value": "© 2024 Acme Consulting Services. All rights reserved.\n📧 info@acmeconsulting.com | 📞 (555) 123-4567",
|
||||
"updated": "2024-01-15T10:30:00Z",
|
||||
"updatedBy": "client@acmeconsulting.com"
|
||||
}
|
||||
},
|
||||
"permissions": {
|
||||
"client@acmeconsulting.com": {
|
||||
"role": "editor",
|
||||
"canEdit": ["*"],
|
||||
"canDelete": false,
|
||||
"canCreatePages": false
|
||||
},
|
||||
"developer@example.com": {
|
||||
"role": "admin",
|
||||
"canEdit": ["*"],
|
||||
"canDelete": true,
|
||||
"canCreatePages": true
|
||||
}
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"contentId": "testimonial-content",
|
||||
"timestamp": "2024-01-25T16:45:00Z",
|
||||
"user": "client@acmeconsulting.com",
|
||||
"action": "update",
|
||||
"previousValue": "> \"Working with Acme Consulting was a game-changer for our business.\"\n> \n> — Sarah Johnson, CEO of TechStart Inc."
|
||||
}
|
||||
]
|
||||
}
|
||||
254
test-sites/demo-site/assets/style.css
Normal file
254
test-sites/demo-site/assets/style.css
Normal file
@@ -0,0 +1,254 @@
|
||||
/* Reset and Base Styles */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
/* Navigation */
|
||||
.navbar {
|
||||
background: #fff;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.navbar .container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 1rem 20px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
color: #2563eb;
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav-links {
|
||||
display: flex;
|
||||
list-style: none;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.nav-links a {
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
.nav-links a:hover {
|
||||
color: #2563eb;
|
||||
}
|
||||
|
||||
.auth-controls {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
.btn-primary, .btn-secondary {
|
||||
padding: 0.75rem 1.5rem;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
display: inline-block;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: #2563eb;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #1d4ed8;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: #f3f4f6;
|
||||
color: #374151;
|
||||
border: 1px solid #d1d5db;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: #e5e7eb;
|
||||
}
|
||||
|
||||
/* Hero Section */
|
||||
.hero {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
padding: 8rem 0 4rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
font-size: 3rem;
|
||||
margin-bottom: 1rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.hero .lead {
|
||||
font-size: 1.25rem;
|
||||
margin-bottom: 2rem;
|
||||
opacity: 0.9;
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* Services Section */
|
||||
.services {
|
||||
padding: 4rem 0;
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.services h2 {
|
||||
text-align: center;
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #1f2937;
|
||||
}
|
||||
|
||||
.section-subtitle {
|
||||
text-align: center;
|
||||
font-size: 1.125rem;
|
||||
color: #6b7280;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.services-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
gap: 2rem;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.service-card {
|
||||
background: white;
|
||||
padding: 2rem;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
|
||||
transition: transform 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
.service-card:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.service-card h3 {
|
||||
color: #2563eb;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
/* Testimonial Section */
|
||||
.testimonial {
|
||||
padding: 4rem 0;
|
||||
background: #2563eb;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.testimonial blockquote {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.testimonial p {
|
||||
font-size: 1.5rem;
|
||||
font-style: italic;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.testimonial cite {
|
||||
font-size: 1rem;
|
||||
opacity: 0.8;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* CTA Section */
|
||||
.cta {
|
||||
padding: 4rem 0;
|
||||
text-align: center;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.cta h2 {
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #1f2937;
|
||||
}
|
||||
|
||||
.cta p {
|
||||
font-size: 1.125rem;
|
||||
color: #6b7280;
|
||||
margin-bottom: 2rem;
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
.footer {
|
||||
background: #1f2937;
|
||||
color: white;
|
||||
padding: 2rem 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.footer p {
|
||||
margin-bottom: 0.5rem;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* Responsive Design */
|
||||
@media (max-width: 768px) {
|
||||
.navbar .container {
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.nav-links {
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.auth-controls {
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.hero .lead {
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.services-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
85
test-sites/demo-site/index.html
Normal file
85
test-sites/demo-site/index.html
Normal file
@@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html><html lang="en"><head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>Acme Consulting Services - Live Reload Test</title>
|
||||
<link rel="stylesheet" href="assets/style.css"/>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar">
|
||||
<div class="container">
|
||||
<h1 class="logo insertr" data-content-id="index-logo-c176ba" data-content-type="text">Acme Consulting</h1>
|
||||
<ul class="nav-links">
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
<li><a href="contact.html">Contact</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<h1 class="insertr" data-content-id="index-h1-1b83cf" data-content-type="text">Transform Your Business with Expert Consulting</h1>
|
||||
<p class="lead insertr" data-content-id="index-lead-c7070a" data-content-type="markdown"><strong>We help small</strong> businesses grow through strategic planning, process optimization, and digital transformation. Our team brings 15+ years of experience to drive your success.</p>
|
||||
<a href="contact.html" class="btn-primary insertr" data-content-id="index-btn-primary-088a84" data-content-type="link">Get Started Today</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Services Section -->
|
||||
<section class="services">
|
||||
<div class="container">
|
||||
<h2 class="insertr" data-content-id="index-h2-7e9e73" data-content-type="text">Our Services</h2>
|
||||
<p class="section-subtitle insertr" data-content-id="index-section-subtitle-bf0683" data-content-type="markdown">Comprehensive solutions tailored to your business needs. We are flexible as willow sticks</p>
|
||||
|
||||
<div class="services-grid">
|
||||
<div class="service-card">
|
||||
<h3 class="insertr" data-content-id="index-h3-2c6736" data-content-type="text">Strategic Planning</h3>
|
||||
<p class="insertr" data-content-id="index-p-a935d2" data-content-type="markdown">Develop clear roadmaps and actionable strategies that align with your business goals and drive sustainable growth.</p>
|
||||
</div>
|
||||
<div class="service-card">
|
||||
<h3 class="insertr" data-content-id="index-h3-2-2c6736" data-content-type="text">Operations Optimization</h3>
|
||||
<p class="insertr" data-content-id="index-p-2-a935d2" data-content-type="markdown">Streamline processes, reduce costs, and improve efficiency through proven methodologies and best practices.</p>
|
||||
</div>
|
||||
<div class="service-card">
|
||||
<h3 class="insertr" data-content-id="index-h3-3-2c6736" data-content-type="text">Digital Transformation</h3>
|
||||
<p class="insertr" data-content-id="index-p-3-a935d2" data-content-type="markdown">Modernize your technology stack and digital presence to compete effectively in today's marketplace.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Testimonial Section -->
|
||||
<section class="testimonial">
|
||||
<div class="container">
|
||||
<blockquote>
|
||||
<p class="insertr" data-content-id="index-p-4-0a9466" data-content-type="markdown">"Acme Consulting transformed our operations completely. We saw a 40% increase in efficiency within 6 months of implementing their recommendations."</p>
|
||||
<cite class="insertr" data-content-id="index-cite-24152c" data-content-type="text">Sarah Johnson, CEO of TechStart Inc.</cite>
|
||||
</blockquote>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Call to Action -->
|
||||
<section class="cta">
|
||||
<div class="container">
|
||||
<h2 class="insertr" data-content-id="index-h2-2-9b9baa" data-content-type="text">Ready to Transform Your Business?</h2>
|
||||
<p class="insertr" data-content-id="index-p-5-e960fe" data-content-type="markdown">Contact us today for a free consultation and discover how we can help you achieve your goals.</p>
|
||||
<a href="contact.html" class="btn-primary insertr" data-content-id="index-btn-primary-2-a33c64" data-content-type="link">Schedule Consultation</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="insertr" data-content-id="index-p-6-9b47e7" data-content-type="markdown">© 2024 Acme Consulting Services. All rights reserved.</p>
|
||||
<p class="insertr" data-content-id="index-p-7-9b47e7" data-content-type="markdown">📧 info@acmeconsulting.com | 📞 (555) 123-4567 | Located in downtown Springfield | <button class="insertr-gate" style="background: none; border: 1px solid #ccc; padding: 4px 8px; margin-left: 10px; border-radius: 3px; font-size: 11px;">🔧 Edit</button></p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Insertr JavaScript Library -->
|
||||
<script type="text/javascript" src="insertr.js"></script>
|
||||
|
||||
|
||||
</body></html>
|
||||
4127
test-sites/demo-site/insertr.js
Normal file
4127
test-sites/demo-site/insertr.js
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user