tegwick 74ee2760e2 fix: resolve markdown roundtrip formatting issue in save functionality
Fixed critical bug where saving unedited content would introduce unwanted
indentation and formatting changes due to unnecessary DOM reconstruction.

Problem:
- getMarkdownContent() always reconstructed from DOM elements
- textContent doesn't preserve original markdown formatting
- HTML rendering adds/removes whitespace causing formatting drift
- Lines after first would get extra indentation on roundtrip

Solution:
- Added hasEdits tracking to MarkitectEditor class
- Return original markdown content when no edits have been made
- Only reconstruct from DOM when actual edits occurred
- Mark hasEdits=true when textarea blur event fires

This ensures perfect fidelity when saving unedited documents while
maintaining the reconstruction capability for edited content.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 21:15:48 +02:00
2025-10-03 03:39:43 +02:00
2025-10-03 03:39:43 +02:00
2025-10-06 22:51:38 +02:00

MarkiTect Documentation

Welcome to the MarkiTect documentation. This directory contains comprehensive documentation for developers, users, and contributors.

Documentation Structure

📐 Architecture Documentation (architecture/)

Deep technical documentation about system design, performance, and implementation details.

  • Caching System - Why and how MarkiTect's AST caching delivers 60-85% performance improvements
  • Coming soon: Database Schema, CLI Architecture, Plugin System

👥 User Guides (user-guides/)

End-user documentation for working with MarkiTect CLI and features.

  • Coming soon: Getting Started, Command Reference, Best Practices

🔧 Development Documentation (development/)

Documentation for contributors and developers extending MarkiTect.

  • Coming soon: Contributing Guide, Testing Strategy, Release Process

For Users

For Developers

Project Management

Key Concepts

Core Architecture Principles

  1. Parse Once, Use Many Times - AST caching for 60-85% performance improvement
  2. Convention Over Configuration - Sensible defaults with minimal setup
  3. Schema-Driven Processing - Structured markdown with validation
  4. Relational Metadata - Database-powered document relationships

Performance Philosophy

MarkiTect treats markdown documents as structured, queryable data rather than plain text. This approach enables:

  • Lightning-fast document processing through intelligent caching
  • Complex querying and relationship management
  • Schema validation and consistency enforcement
  • Scalable performance that grows with your content

Contributing to Documentation

Documentation follows the same quality standards as code:

  1. Clear Structure - Logical organization and navigation
  2. Practical Examples - Real-world usage patterns
  3. Performance Context - Why architectural decisions matter
  4. User-Focused - Written for the intended audience

Documentation Standards

  • Use clear, concise language
  • Include practical examples
  • Explain the "why" behind design decisions
  • Keep technical accuracy as the highest priority
  • Update docs when changing functionality

This documentation is maintained alongside the codebase. For the most current information, always refer to the latest version in the repository.

Description
An advanced markdown engine
https://coulomb.social/open/MarkiTect
Readme 34 MiB
2025-11-08 20:34:42 +00:00
Languages
Python 84.7%
JavaScript 8%
HTML 5.6%
Makefile 1.3%
Shell 0.2%
Other 0.1%