oasis-editor 0.0.154 → 0.0.156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,29 +12,46 @@
|
|
|
12
12
|
|
|
13
13
|
# Oasis Editor
|
|
14
14
|
|
|
15
|
-
Oasis Editor is a browser-based document editor
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
Oasis Editor is a canvas-first, browser-based document editor for applications
|
|
16
|
+
that need a real paged document surface—not a `contenteditable` region or a
|
|
17
|
+
textarea stretched into a page. The document lives in a typed editor model;
|
|
18
|
+
layout, pagination, hit testing, selection, and caret geometry are computed by
|
|
19
|
+
Oasis and rendered onto Canvas.
|
|
20
|
+
|
|
21
|
+
Text input is handled separately through a hidden textarea for keyboard,
|
|
22
|
+
composition, and clipboard events. This keeps the DOM lightweight while giving
|
|
23
|
+
the editor precise control over document layout, interaction, and rendering.
|
|
19
24
|
|
|
20
25
|
It ships as a TypeScript package with a vanilla embed API, React and Vue
|
|
21
26
|
adapters, a headless runtime, public command and plugin primitives, and a CSS
|
|
22
27
|
bundle you can import into your app.
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
Try the [Playground](https://celsowm.github.io/oasis-editor/).
|
|
30
|
+
|
|
31
|
+
## Why Oasis?
|
|
32
|
+
|
|
33
|
+
Oasis is built around a document model and rendering pipeline that are separate
|
|
34
|
+
from the DOM:
|
|
35
|
+
|
|
36
|
+
- **Canvas-first editing:** pages, text, tables, images, and document objects
|
|
37
|
+
are painted by a dedicated renderer. DOM overlays are reserved for the caret,
|
|
38
|
+
selection, and interaction layers rather than storing the document content.
|
|
39
|
+
- **Real document layout:** the layout engine handles pages, sections, columns,
|
|
40
|
+
headers, footers, footnotes, endnotes, hyphenation, nested tables, floating
|
|
41
|
+
objects, images, and text boxes.
|
|
42
|
+
- **Word-compatible document handling:** DOCX documents can be imported and
|
|
43
|
+
exported, while PDF export follows the same document layout. Source-backed
|
|
44
|
+
OOXML export preserves unrelated package parts and unknown markup instead of
|
|
45
|
+
silently discarding content Oasis does not edit semantically.
|
|
46
|
+
- **Structured editing model:** state, selection, history, commands, document
|
|
47
|
+
queries, and edit operations work against typed document structures rather
|
|
48
|
+
than HTML extracted from the DOM.
|
|
49
|
+
- **Product-level extensibility:** plugins can contribute commands, shortcuts,
|
|
50
|
+
toolbar items, menubar items, floating actions, side panels, UI primitives,
|
|
51
|
+
and lifecycle behavior.
|
|
52
|
+
- **Embeddable runtime:** use the same core through JavaScript, React, Vue, or a
|
|
53
|
+
headless runtime, with events, persistence, read-only mode, and configurable
|
|
54
|
+
document, inline, or balloon shells.
|
|
38
55
|
|
|
39
56
|
## Installation
|
|
40
57
|
|