Skip to content

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Repository files navigation

Office for MoonBit

This repository contains the Office CLI, its integration library, and the document engines they use. Modules have independent package identities; moon.work connects the nine modules for local development.

Directory Module Responsibility
ooxml moonbitlang/ooxml Shared OPC and XML foundations
mbtexcel moonbitlang/mbtexcel Read and write XLSX spreadsheets
docx2html moonbitlang/docx2html Parse, convert, and edit DOCX documents
pdflite moonbitlang/pdflite Read, write, and manipulate PDFs
pptx moonbitlang/pptx PPTX reading, building, and writing
pdf2md moonbitlang/pdf2md PDF to Markdown CLI
pagelayout moonbitlang/pagelayout Document layout and SVG/PDF rendering
office-lib moonbitlang/office-lib Office integration and SDK
office-cli moonbitlang/office Unified office CLI

The CLI implementation lives in office-cli, which integrates the document engines and layout packages. office-lib is the reusable library; office-cli is the executable entry point. The repository root is only a workspace, not a publishable MoonBit module. PPTX is integrated through office-lib/pptx for identification, outline, text extraction, and fresh one-slide creation. See the PPTX integration guide for commands and limits.

Use the CLI

moonx moonbitlang/office help all --json
moonx moonbitlang/office identify report.docx --json

See the Office library documentation for SDK usage and the input/output schemas for automation.

Develop

Run these commands from the repository root:

moon update
moon check
moon test
moon info
moon fmt
moon run office-cli -- help all --json
moon run mbtexcel/cmd/xlsx -- --help

Native SDK validity tests use the shared validators under scripts/ and need .NET 8. Excel test fixtures live in mbtexcel/fixtures/excelize/; each module's tests resolve their data relative to that module's root.

Shared documentation, CI, scripts, and developer tools remain at the repository root. Module READMEs describe commands relative to their module directory unless stated otherwise. Published module names and package import paths are independent of this directory layout.

Release

Publish from the relevant module directory, following the release process. CI runs source checks and tests; moon publish checks the packaged module and its registry dependencies before publishing. The root publish workflow publishes the nine modules when a GitHub Release is released. Manual runs can select one module or all; the full order is ooxml, mbtexcel, docx2html, pdflite, pptx, pdf2md, pagelayout, office-lib, then office-cli (published as moonbitlang/office).

Further module-boundary work is tracked in issue #542.

PPTX library packages, demos, and benchmarks are part of the same workspace. See the PPTX module guide for root-level commands and upstream attribution.

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages