2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00
2026-07-22 20:17:09 +02:00
2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00
2026-07-23 01:13:57 +02:00

OneNote Tools

OneNote Tools is a standalone, local-first browser reader and exporter for a tested subset of Microsoft OneNote .one sections and CAB-based .onepkg packages. Its native TypeScript parser runs in a dedicated module worker; the selected notebook is neither uploaded nor persisted.

It is also an independent application in the add·ideas Toolbox contract. The source uses the Toolbox SDK shell and manifest, builds with Vite base: './', and is delivered to Toolbox Portal as a checksummed static ZIP.

Version 0.3.1 uses the stable shared top bar, with Personalize, Apps, the OneNote source link, and Help in a fixed left cluster; the app title and one tagline centered; and the Toolbox icon with the add·ideas Toolbox label in a fixed far-right block.

What version 0.3.1 supports

  • Desktop revision-store and unfragmented FSSHTTPB package-store .one sections from the tested producer families.
  • Complete single- or multi-cabinet .onepkg sets using uncompressed, MSZIP, Quantum, or LZX CAB folders. Split packages can be selected as one .onepkg file together with all of its .cab companions, in any selection order.
  • Desktop and FSSHTTPB .onetoc2 stores inside packages. Section groups, authored section order, recycle-bin filtering, pages, and subpages are presented as a notebook tree; unresolved entries retain a deterministic fallback rather than hiding readable sections.
  • Structured page content: outlines and layout hints, rich-text runs, safe links, tables, PNG/JPEG images, decoded ink strokes, and declared embedded attachments. Resource bytes remain lazy until previewed, explicitly downloaded, or included in an explicit export.
  • Local exports as structured JSON, plain text, Markdown, inert semantic HTML, or a deterministic static notebook ZIP. Exports retain parser diagnostics and unsupported-content summaries; they do not create or modify OneNote files.

The redistributable golden corpus covers desktop and unfragmented FSSHTTPB sections, a real LZX .onepkg, all four CAB compression modes, a five-part spanning CAB set, TOC hierarchy behavior, rich content, resources, and every export format. The generic MSZIP, Quantum, and multi-cabinet fixtures establish CAB behavior; they are not claims about every OneNote producer.

This remains a deliberately bounded compatibility subset. Fragmented FSSHTTPB data-element reconstruction, equations, audio/video, and untested producer variants are not supported. Visual placement is approximate rather than a pixel-perfect OneNote layout. See format support for the precise matrix.

There is no Rust/Wasm runtime, notebook-processing application backend, upload proxy, telemetry, or notebook storage. All parsing and CAB decompression is ordinary browser JavaScript produced from the TypeScript source.

Use

Run the static build or open it through Toolbox Portal, then:

  • choose one local .one file; or
  • choose one .onepkg file and, for a split package, all linked .cab parts in the same file-picker action.

Use Clear file to terminate the current worker and release application references. Browser garbage collection does not provide a secure-erasure guarantee.

Development

Node.js 22 or newer is required. The checked-in .npmrc contains only the public package registry mapping and no credential.

npm ci
npm run dev
npm run check

npm run check validates manifest synchronization, TypeScript, ESLint, Prettier, fixture-backed Vitest tests, the production build, and toolbox-check dist.

The application works standalone. A same-origin Toolbox catalogue can be supplied through the SDK's ?toolbox= context mechanism. The app uses the SDK AppShell and does not add a second suite-level switcher.

Release artifact

npm run release:artifact
(cd release && sha256sum -c onenote-tools-0.3.1.sha256)

The ZIP root contains the built static app and manifest plus the changelog, corresponding-source information, security/support/provenance documents, and the required project and third-party licence texts. File order and ZIP timestamps are fixed. Existing artifacts are not overwritten unless --force is passed after --.

Toolbox Portal expands the reviewed ZIP below an apps/<target>/ path and locks its exact SHA-256. It does not build this repository or import this app into the portal React tree.

Design and provenance

Licence

OneNote Tools is primarily MPL-2.0; the adapted multi-cabinet module is LGPL-2.1-only. The complete licence texts are in LICENSES/, and adapted/third-party material remains under the terms recorded in THIRD_PARTY_NOTICES.md.

Description
No description provided
Readme 906 KiB
2026-07-27 15:50:55 +02:00
Languages
TypeScript 96.6%
CSS 2%
JavaScript 1.3%