|
|
@@ -13,7 +13,7 @@ Enesis is being built as a complete block-editing substrate:
|
|
|
| Phase | Feature | Status |
|
|
|
|---|---|---|
|
|
|
| 1–5 | Core editor: clean content model, keyboard boundaries, focus/cursor, inline + block decorations, Lezer-only AST pipeline | **Done** |
|
|
|
-| 6 | Code block node views with CodeMirror 6, inline/block LaTeX with KaTeX | Next |
|
|
|
+| 6 | Code block node views with CodeMirror 6, inline/block LaTeX with KaTeX | **Partial** — CM6 done, LaTeX pending |
|
|
|
| 7 | Toolbar handler API — `toggleBold`, `insertLink`, `setHeading`, `toggleTask` from Lezer tree queries | Planned |
|
|
|
| 8 | Asset handling — image drop, upload protocol, inline preview | Planned |
|
|
|
| 9 | Reference interactivity — clickable `[[page]]`, `((block))`, `#tag` chips with preview | Planned |
|
|
|
@@ -55,12 +55,15 @@ Enesis is being built as a complete block-editing substrate:
|
|
|
│ │ ├── composables/
|
|
|
│ │ │ ├── useMarkdownDecorations.ts ProseMirror decoration plugin
|
|
|
│ │ │ ├── useBlockKeyboardHandlers.ts Keyboard handler (Enter, Backspace, arrows)
|
|
|
+│ │ │ ├── useCodeBlockView.ts CM6 NodeView for fenced code blocks
|
|
|
│ │ │ └── usePatternPlugin.ts Pattern detection ([[, ((, /, #)
|
|
|
│ │ └── lib/
|
|
|
│ │ ├── markdown-parser.ts Lezer parser configuration
|
|
|
│ │ ├── markdown-extensions.ts Custom Lezer extensions
|
|
|
│ │ ├── content-model.ts Markdown ↔ ProseMirror conversion
|
|
|
│ │ ├── schema.ts Minimal ProseMirror schema
|
|
|
+│ │ ├── auto-close-plugin.ts Auto-close for ```, **, _
|
|
|
+│ │ ├── logger.ts Namespace-based debug logger
|
|
|
│ │ └── markdown-rules/
|
|
|
│ │ ├── engine.ts MarkdownRuleEngine (3-stage pipeline)
|
|
|
│ │ ├── types.ts Shared type interfaces
|