Word + Excel + PowerPoint en una sola app. Un único formato de archivo .mox que se abre y
edita en cualquiera de las 3 vistas: Documento, Hoja de cálculo y Slides.
El contenido vive en un modelo de bloques universal (una sola fuente de verdad); cada vista lo interpreta a su manera. Cambias de interfaz cuando quieras y editas el mismo contenido.
./start.sh # macOS / Linux
# o
pnpm install && pnpm devWindows:
./start.ps1- Frontend (Vite + React): http://localhost:7700 ← se abre solo en el navegador
- Backend (NestJS + Fastify): http://localhost:7701
Detener:
./stop.sh # macOS / Linux
./stop.ps1 # Windowspackages/core Modelo de bloques + formato .mox + adapters de vista
apps/server API NestJS que guarda/lee .mox en ./data
apps/web UI React con las 3 vistas
ZIP con document.json (meta + bloques + views) y media/ (binarios). Ver
packages/core/src/mox.ts.
Botón Exportar ▾ en el toolbar genera, en el navegador (sin backend), los formatos reales:
- .docx (lib
docx) desde los bloques - .xlsx (
xlsx/SheetJS) desde la proyección de la vista Hoja - .pptx (
pptxgenjs) desde la agrupación de Slides
Las libs se cargan de forma perezosa (solo al exportar). Ver apps/web/src/export/.
Botón Importar en el toolbar carga .mox / .docx / .xlsx / .pptx → bloques:
- .docx (
mammoth) → HTML → bloques (headings, párrafos, listas, tablas) - .xlsx (SheetJS) → tabla(s); una hoja = un bloque table
- .pptx → se parsea el ZIP OOXML directo (
fflate), texto por slide → heading + párrafos
Parsers cargados de forma perezosa. Ver apps/web/src/import/.
Nota: import es best-effort (mapea estructura común). Imágenes en docx/pptx y estilos finos no se importan en v1.
