Skip to content

v1.6.0 — Richer editing primitives (ODT)

Choose a tag to compare

@leiverkus leiverkus released this 22 May 14:04
· 20 commits to main since this release

Structural editing for ODT (ROADMAP Track D, item 4), benchmarked against the docx skill's formatting-preserving edits. The skill could replace text and add inline apparatus but could not restructure an existing document — four new scripts close that.

Added

  • restyle.py — bulk-set text:style-name on paragraphs and headings matching --current-style, --headings/--paragraphs, and/or --level.
  • insert_blocks.py — splice a block fragment into a document. The fragment is a JSON blocks array (the same format create_minimal_odt consumes); position via --after-anchor/--before-anchor/--at-paragraph/--at start|end.
  • delete_block.py — remove a whole block (paragraph, heading, list, or table) by anchor text or index.
  • edit_table.py — edit a table by name: --add-row, --add-column, --delete-row, --delete-column, --set-cell; expands repeated-cell/row shorthands first.

Changed

  • create_minimal_odt.py exposes a shared build_block dispatch, reused by insert_blocks.py.

See CHANGELOG.md.