- Problem: Element ID collisions between similar elements (logo h1 vs hero h1) causing content to be injected into wrong elements - Root cause: Enhancer used naive tag+class matching instead of parser's sophisticated semantic analysis for element identification Systematic solution: - Enhanced parser architecture with exported utilities (GetClasses, ContainsClass) - Added FindElementInDocument() with content-based semantic matching - Replaced naive findAndInjectNodes() with parser-based element matching - Removed code duplication between parser and enhancer packages Backend improvements: - Moved ID generation to backend for single source of truth - Added ElementContext struct for frontend-backend communication - Updated API handlers to support context-based content ID generation Frontend improvements: - Enhanced getElementMetadata() to extract semantic context - Updated save flow to handle both enhanced and non-enhanced elements - Improved API client to use backend-generated content IDs Result: - Unique content IDs: navbar-logo-200530 vs hero-title-a1de7b - Precise element matching using content validation - Single source of truth for DOM utilities in parser package - Eliminated 40+ lines of duplicate code while fixing core bug
137 lines
5.3 KiB
HTML
137 lines
5.3 KiB
HTML
<!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" >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" >About Acme Consulting</h1>
|
|
<p class="lead insertr" >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" >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" >Our Team</h2>
|
|
<p class="insertr" >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;" >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" >Client-First</h3>
|
|
<p class="insertr" >Every recommendation we make is designed with your specific business context and goals in mind.</p>
|
|
</div>
|
|
<div>
|
|
<h3 class="insertr" >Practical Solutions</h3>
|
|
<p class="insertr" >We believe in strategies that you can actually implement with your current resources and capabilities.</p>
|
|
</div>
|
|
<div>
|
|
<h3 class="insertr" >Long-term Partnership</h3>
|
|
<p class="insertr" >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" >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" >© 2024 Acme Consulting Services. All rights reserved.</p>
|
|
<p class="insertr" >📧 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> |