Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

WASM / JavaScript API

WasmEngine

import init, { WasmEngine } from '@rudra/wasm';
await init();

const engine = new WasmEngine();
const doc = engine.create();
const doc2 = engine.open(uint8Array);

WasmDocument

Content

doc.to_html()              // Full HTML rendering
doc.to_plain_text()        // Text extraction
doc.to_paginated_html()    // Paginated HTML with layout

Export

doc.to_docx()   // Uint8Array
doc.to_odt()    // Uint8Array
doc.to_pdf()    // Uint8Array
doc.export('md') // Uint8Array

Editing

doc.insert_text_in_paragraph(nodeId, offset, "text")
doc.delete_text_in_paragraph(nodeId, offset, length)
doc.split_paragraph(nodeId, offset)
doc.format_selection(startNode, startOff, endNode, endOff, key, value)
doc.set_heading_level(nodeId, level)
doc.insert_table(afterNodeId, rows, cols)
doc.insert_image(afterNodeId, bytes, mimeType)

Undo/Redo

doc.undo()       // Returns boolean
doc.redo()       // Returns boolean
doc.can_undo()   // Boolean
doc.can_redo()   // Boolean

Metadata

doc.set_title("My Doc")
doc.set_author("Alice")
doc.get_document_stats_json() // { words, characters, paragraphs, pages }