Joakim 0d79ab1fef Replace custom markdown parser with marked.js v16.2.1
🚀 Major Upgrade: Professional markdown handling with marked.js

 Fixed Issues:
- No more recursion errors or browser crashes
- Proper handling of complex markdown (multiple links per line)
- Robust parsing of edge cases and nested formatting

🔧 Implementation:
- Added marked.js v16.2.1 via CDN to both HTML pages
- Custom renderer preserves button styling (btn-primary)
- Smart lead paragraph detection for styling preservation
- Intelligent element merging to maintain layout
- Removed all buggy custom parsing code (100+ lines)

🎯 New Capabilities:
- Multiple buttons per line: [Get Started](link1) [Or tomorrow](link2)
- Full CommonMark support (tables, lists, formatting)
- Better performance with optimized C-like parsing
- Extensible renderer system for future enhancements

 User Experience:
- Edit forms now handle complex markdown perfectly
- Layout and styling fully preserved after saves
- No more crashes when editing rich content
- Professional markdown processing

Ready to test the two-button hero scenario! 🚀
2025-08-30 12:37:45 +02:00

Insertr

Edit-in-place CMS for client websites - Simple integration with class-based content editing

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.

The Vision

<!-- Developer adds this once -->
<script src="https://insertr.example.com/insertr.js"></script>

<!-- Then marks content as editable -->
<div class="insertr" data-content-id="hero">
  <h1>Your Editable Content</h1>
</div>

That's it! Your clients can now edit this content inline.

🎯 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"
  • No complex setup or framework dependencies
  • Works with any existing website

🚀 Current Status

Frontend Prototype Complete

  • Working edit-in-place functionality
  • Mock authentication system
  • Local persistence
  • Multi-page support
  • Responsive design

🔄 In Development

  • Go backend with REST API
  • Authentik OAuth integration
  • File-based content storage
  • Git version control

🛠️ Quick Start

  1. Clone and install:

    git clone <repository-url>
    cd insertr
    npm install
    
  2. Start development server:

    npm run dev
    
  3. Open http://localhost:3000 and test the demo!

📖 Documentation

🏗️ Architecture

Current (Phase 1)

  • Frontend: Vanilla JavaScript + Alpine.js
  • Storage: localStorage (for prototype)
  • Authentication: Mock system
  • Deployment: Static files

Planned (Phase 2)

  • Backend: Go HTTP server
  • Storage: File-based with Git versioning
  • Authentication: Authentik OAuth 2.0
  • Deployment: Single binary + static files

Future (Phase 3)

  • Multi-tenant: Host multiple client sites
  • Admin Dashboard: Advanced content management
  • CDN Integration: Global content delivery
  • Plugin System: Extensible functionality

🎬 Demo Features

Try the prototype to see:

  • ✏️ Inline Editing - Click edit buttons to modify content
  • 📝 Rich Content - Markdown editing for formatted text
  • 👤 Authentication - Login simulation with role switching
  • 💾 Persistence - Content saves automatically
  • 📱 Responsive - Works on desktop and mobile
  • 🔄 Multi-page - Consistent experience across pages

🤝 Contributing

This project is in active development. See DEVELOPMENT.md for:

  • Development setup
  • Project structure
  • Testing guidelines
  • Future roadmap

📄 License

MIT License - see LICENSE file for details.


Built with ❤️ for small business websites and their developers

Description
No description provided
Readme 29 MiB
Languages
JavaScript 48%
Go 40.9%
CSS 7.1%
PLpgSQL 2.3%
Just 1.4%
Other 0.3%