From ac8f2e77ade1c59aeda58dc8cf46e7e7305f7ce1 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sun, 6 Jul 2025 22:44:20 +0100 Subject: [PATCH] Improve HTML description --- examples/website/index.html | 105 ++++++++++++++++++++---------------- examples/website/style.scss | 10 ++++ 2 files changed, 68 insertions(+), 47 deletions(-) diff --git a/examples/website/index.html b/examples/website/index.html index 9a2c5f1..c570dfd 100644 --- a/examples/website/index.html +++ b/examples/website/index.html @@ -8,18 +8,18 @@ /> - + - 3-Way Text Merge + Reconcile: conflict-free text merging @@ -28,49 +28,58 @@
-

Reconcile: automated 3-way text merge

+

Reconcile: conflict-free 3-way text merging

- The - reconcile - library solves a fundamental challenge in collaborative editing: what happens - when multiple users edit the same text simultaneously but we can only capture - the end result, not the intermediary edits? Essentially, it's + Think diff3 - (or git merge) but with automatic conflict resolution. -

-

- The - reconcile(parent: str, left: str, right: str) -> str - takes conflicting concurrent edits and intelligently merges them into a - unified result. Beyond basic conflict resolution, it offers sophisticated - merging heuristics, flexible tokenization options, and cursor position - tracking. -

-

- The algorithm begins with your chosen tokenizer, then applies Myers' diff - algorithm to compare the original text with both conflicting versions. These - diffs undergo transformation to preserve meaningful change sequences, before a - final merge strategy—inspired by Operational Transformation reconciles all - conflicting modifications without losing any edits. -

-

- For more details, see the - README. + or git merge, but with intelligent conflict resolution that + requires no user intervention. The + Reconcile + library tackles a fundamental challenge in collaborative editing: what happens + when multiple users edit the same text simultaneously, but the conflict + resolver only has access to the final results, not the intermediate steps?

- Use the tokenization options below to experiment with different strategies. - The library supports user-defined tokenizers as well. + Where traditional merge tools leave you with conflict markers to resolve + manually, Reconcile automatically weaves changes together. The + reconcile(parent, left, right) function takes conflicting edits + and produces clean, unified results using an algorithm inspired by Operational + Transformation. No more <<<<<<< markers + cluttering your text. +

+ +

+ The process starts with your chosen tokenisation strategy, then applies Myers' + diff algorithm to compare the original with both modified versions. These + diffs are optimised and transformed to preserve meaningful changes, before a + final merge strategy combines all modifications without losing any edits. +

+ +

+ Ready to dive deeper? Check out the + documentation + or try editing the text boxes below to see Reconcile in action. +

+ +

+ Use the tokenisation options below to experiment with different approaches — + the library also supports custom tokenisers.

@@ -87,7 +96,9 @@
Character - Split by individual characters + Fine-grained character-level merging
@@ -120,7 +131,7 @@
@@ -129,9 +140,9 @@
@@ -140,9 +151,9 @@
@@ -151,9 +162,9 @@