Skip to content

Foodhy/multi-office

Repository files navigation

Multi-Office

Multi-Office — Word, Excel y PowerPoint en una sola app web

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.

Arranque local

./start.sh        # macOS / Linux
# o
pnpm install && pnpm dev

Windows:

./start.ps1

Detener:

./stop.sh         # macOS / Linux
./stop.ps1        # Windows

Estructura

packages/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

Formato .mox

ZIP con document.json (meta + bloques + views) y media/ (binarios). Ver packages/core/src/mox.ts.

Export Office

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/.

Import Office

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.

About

Word + Excel + PowerPoint en una sola app web. Un formato .mox y 3 vistas (Documento, Hoja, Slides) sobre una única fuente de verdad. Import/export Office real.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors