Skip to content

Commit f22f985

Browse files
committed
docs: update llms-full.txt
1 parent e2cafd1 commit f22f985

File tree

1 file changed

+140
-7
lines changed

1 file changed

+140
-7
lines changed

public/llms-full.txt

Lines changed: 140 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
---
66
version: "v1.0.0"
7-
title: "release v1.0.0"
7+
title: "Release Loro v1.0.0"
88
date: 2024/10/21
99
# breakingChange: false
1010
# category: ["Encoding", "Tree"]
@@ -93,7 +93,7 @@ The following are the specific API changes:
9393

9494
---
9595
version: "v1.3.0"
96-
title: "release v1.3.0"
96+
title: "Release Loro v1.3.0"
9797
date: 2025/01/09
9898
---
9999

@@ -117,11 +117,12 @@ date: 2025/01/09
117117
- fix: move child in current parent [#589](https://github.com/loro-dev/loro/pull/589)
118118
- fix: panic when returned non-boolean value from text.iter(f) [#578](https://github.com/loro-dev/loro/pull/578)
119119

120+
120121
# FILE: pages/changelog/v1.1.0.mdx
121122

122123
---
123124
version: "v1.1.0"
124-
title: "release v1.1.0"
125+
title: "Release Loro v1.1.0"
125126
date: 2024/11/09
126127
---
127128

@@ -166,11 +167,38 @@ date: 2024/11/09
166167
- fix: define the fork behavior when the doc is detached [#537](https://github.com/loro-dev/loro/pull/537)
167168

168169

170+
# FILE: pages/changelog/inspector-v0.1.0.mdx
171+
172+
---
173+
version: "v0.1.0"
174+
title: "Release Loro Inspector v0.1.0"
175+
date: 2025/04/30
176+
---
177+
178+
Try it here: [Loro Inspector](https://inspector.loro.dev/)
179+
180+
Now you can directly browse the current state and complete edit history of your Loro
181+
documents in the browser. You can also use this tool to time travel to any version
182+
in the history of your Loro document.
183+
184+
import { ReactPlayer } from "components/video";
185+
186+
<ReactPlayer
187+
url="/static/loro-inspector.mp4"
188+
style={{maxWidth: "calc(100vw - 40px)", "margin": "2em auto"}}
189+
width={"100%"}
190+
height={"auto"}
191+
muted={true}
192+
loop={true}
193+
controls={true}
194+
/>
195+
196+
169197
# FILE: pages/changelog/v1.5.0.mdx
170198

171199
---
172200
version: "v1.5.0"
173-
title: "release v1.5.0"
201+
title: "Release Loro v1.5.0"
174202
date: 2025/04/04
175203
---
176204

@@ -295,7 +323,7 @@ console.log(newStore.get("user-alice"))
295323

296324
---
297325
version: "v1.4.7"
298-
title: "release v1.4.7"
326+
title: "Release Loro v1.4.7"
299327
date: 2025/04/01
300328
---
301329

@@ -316,11 +344,12 @@ date: 2025/04/01
316344
- fix: detached loro text issues [#665](https://github.com/loro-dev/loro/pull/665)
317345
- fix: entity index when the tree is empty [#670](https://github.com/loro-dev/loro/pull/670)
318346

347+
319348
# FILE: pages/changelog/v1.2.0.mdx
320349

321350
---
322351
version: "v1.2.0"
323-
title: "release v1.2.0"
352+
title: "Release Loro v1.2.0"
324353
date: 2024/12/10
325354
---
326355

@@ -351,11 +380,12 @@ date: 2024/12/10
351380
- fix: getOrCreateContainer should not throw if value is null [#576](https://github.com/loro-dev/loro/pull/576)
352381
- fix: dead loop when importing updates [#570](https://github.com/loro-dev/loro/pull/570)
353382

383+
354384
# FILE: pages/changelog/v1.4.0.mdx
355385

356386
---
357387
version: "v1.4.0"
358-
title: "release v1.4.0"
388+
title: "Release Loro v1.4.0"
359389
date: 2025/02/13
360390
---
361391

@@ -370,6 +400,7 @@ date: 2025/02/13
370400
- fix: update long text may fail [#633](https://github.com/loro-dev/loro/pull/633)
371401
- fix: map.keys() may return keys from deleted entries [#618](https://github.com/loro-dev/loro/pull/618)
372402

403+
373404
# FILE: pages/docs/examples.mdx
374405

375406
---
@@ -417,6 +448,25 @@ import { ReactPlayer } from "components/video";
417448
></iframe>
418449

419450

451+
# FILE: pages/docs/advanced/inspector.mdx
452+
453+
# Loro Inspector
454+
455+
[Loro Inspector](https://inspector.loro.dev/) is an open-source web tool that helps developers debug and visualize Loro documents. It provides a user-friendly interface to inspect the state and history of Loro documents.
456+
457+
import { ReactPlayer } from "components/video";
458+
459+
<ReactPlayer
460+
url="/static/loro-inspector.mp4"
461+
style={{maxWidth: "calc(100vw - 40px)", "margin": "2em auto"}}
462+
width={"100%"}
463+
height={"auto"}
464+
muted={true}
465+
loop={true}
466+
controls={true}
467+
/>
468+
469+
420470
# FILE: pages/docs/advanced/doc_state_and_oplog.md
421471

422472
---
@@ -1542,6 +1592,87 @@ documents containing several million characters.
15421592
> To learn how rich text CRDT in Loro works under the hood, please refer to our
15431593
> blog: [Introduction to Loro's Rich Text CRDT](/blog/loro-richtext).
15441594

1595+
## Editor Bindings
1596+
1597+
Loro provides official bindings for popular editors to make it easier to integrate Loro's CRDT capabilities:
1598+
1599+
### ProseMirror Binding
1600+
1601+
The [loro-prosemirror](https://github.com/loro-dev/loro-prosemirror) package provides seamless integration between Loro and ProseMirror, a powerful rich text editor framework. It includes:
1602+
1603+
- Document state synchronization with rich text support
1604+
- Cursor awareness and synchronization
1605+
- Undo/Redo support in collaborative editing
1606+
1607+
The ProseMirror binding can also be used with [Tiptap](https://tiptap.dev/), a popular rich text editor built on top of ProseMirror. This means you can easily add collaborative editing capabilities to your Tiptap-based applications.
1608+
1609+
```ts
1610+
import {
1611+
CursorAwareness,
1612+
LoroCursorPlugin,
1613+
LoroSyncPlugin,
1614+
LoroUndoPlugin,
1615+
undo,
1616+
redo,
1617+
} from "loro-prosemirror";
1618+
import { LoroDoc } from "loro-crdt";
1619+
import { EditorView } from "prosemirror-view";
1620+
import { EditorState } from "prosemirror-state";
1621+
1622+
const doc = new LoroDoc();
1623+
const awareness = new CursorAwareness(doc.peerIdStr);
1624+
const plugins = [
1625+
...pmPlugins,
1626+
LoroSyncPlugin({ doc }),
1627+
LoroUndoPlugin({ doc }),
1628+
keymap({
1629+
"Mod-z": undo,
1630+
"Mod-y": redo,
1631+
"Mod-Shift-z": redo,
1632+
}),
1633+
LoroCursorPlugin(awareness, {}),
1634+
];
1635+
const editor = new EditorView(editorDom, {
1636+
state: EditorState.create({ doc, plugins }),
1637+
});
1638+
```
1639+
1640+
### CodeMirror Binding
1641+
1642+
The [loro-codemirror](https://github.com/loro-dev/loro-codemirror) package provides integration between Loro and CodeMirror 6, a versatile code editor. It supports:
1643+
1644+
- Document state synchronization
1645+
- Cursor awareness
1646+
- Undo/Redo functionality
1647+
1648+
```ts
1649+
import { EditorState } from "@codemirror/state";
1650+
import { EditorView } from "@codemirror/view";
1651+
import { LoroExtensions } from "loro-codemirror";
1652+
import { Awareness, LoroDoc, UndoManager } from "loro-crdt";
1653+
1654+
const doc = new LoroDoc();
1655+
const awareness = new Awareness(doc.peerIdStr);
1656+
const undoManager = new UndoManager(doc, {});
1657+
1658+
new EditorView({
1659+
state: EditorState.create({
1660+
extensions: [
1661+
// ... other extensions
1662+
LoroExtensions(
1663+
doc,
1664+
{
1665+
awareness: awareness,
1666+
user: { name: "Bob", colorClassName: "user1" },
1667+
},
1668+
undoManager,
1669+
),
1670+
],
1671+
}),
1672+
parent: document.querySelector("#editor")!,
1673+
});
1674+
```
1675+
15451676
## LoroText vs String
15461677

15471678
It's important to understand that LoroText is very different from using a regular string type. So the following code has different merge results:
@@ -2641,6 +2772,8 @@ You can use Loro in your application by using:
26412772
- You can also find a list of examples in
26422773
[Loro examples in Deno](https://github.com/loro-dev/loro-examples-deno).
26432774

2775+
You can use [Loro Inspector](/docs/advanced/inspector) to debug and visualize the state and history of Loro documents.
2776+
26442777
The following guide will use `loro-crdt` js package as the example.
26452778

26462779
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/loro-basic-test?file=test%2Floro-sync.test.ts)

0 commit comments

Comments
 (0)