Mantis
Mantis

Changelog

Product, extraction, packaging, and documentation changes.

Nested blocks, code furniture, and richer metadata

Containers that hold paragraphs no longer fuse or duplicate their text: a list item with several paragraphs is one item, a blockquote made of paragraphs becomes one quoted block per paragraph, and code nested in a list item stays a fenced block. Code blocks drop copy buttons and line-number gutters and pick up the language from GitHub-style wrappers; headings drop permalink anchors; hidden inline labels, soft hyphens, and zero-width spaces never reach the text. Figure captions are captured, lazy-loaded images resolve to their real source, header-row tables with paragraph cells render in flow under their heading, and WordPress-style entry-header blocks (headline, standfirst, byline) are content again. Byline, dates, and site name now fall back to schema.org JSON-LD and the visible byline, and og:title loses its | Site Name suffix when the page identifies it.

Measured extraction quality

The benchmark now scores word-level precision, recall, and F1 against per-fixture gold annotations, broken out per page type, with latency and confidence alongside — and gates on a minimum F1 per fixture. The instrument immediately paid for itself: pages whose headline sits outside the winning content scope (Substack, Medium, header-wrapped titles) now keep the h1 as the lead block, and a visibility-check memo made extraction up to 6x faster on style-heavy pages.

Extension becomes the main public page

Made the browser tool the GitHub Pages home page, added local packaging instructions, and moved the library demo and changelog to focused pages.

Chrome and Safari page

Added the capture flow, privacy boundary, current limitations, and store availability status.

Images render at their original position

Markdown output now places content images where they appeared on the page, interleaved with prose and tables. Captures without live DOM positions keep the trailing list.

macOS capture repository split

Moved the macOS screen capture helper out of this library repository and into yrstm/mantis-capture, leaving Mantis as the extraction and normalization library.

v0.3.3 Markdown marker fix (#17)

Changed leading emphasis rendering so image credits and similar italic-first lines do not look like malformed list markers to Markdown validators.

v0.3.2 library package cleanup (#16)

Moved the public repository back to the open-source extraction library, removed unpacked browser files and install notes, and set the npm package name to @yrstm/mantis.

v0.3.1 Apache-2.0 license (#15)

Relicensed Mantis under Apache-2.0 from v0.3.1, added a NOTICE file, and documented that v0.3.0 and earlier stay MIT for those copies.

Public GitHub Pages demo (#12)

Added the public library page with package notes, a normal-copy comparison, and a paste converter.

Screenshot-to-Markdown normalization (#10)

Added Mantis.fromImage() so caller-supplied OCR or vision output can be normalized into Mantis articles and structured Markdown.

Non-content image filtering (#11)

Filtered avatars, icons, badges, logos, social images, and tracking pixels while keeping useful article images, figures, charts, and diagrams.

Live-page capture prototype (#9)

Added a live-page capture prototype, selection capture, source-safety metadata, configurable delivery, and stronger extraction for documentation and newsletter pages.

Agent Markdown documentation and demo (#5)

Simplified the README and demo around rendered-DOM capture, Markdown for agents, and the browser-copy versus Mantis output comparison.

Demo port override (#4)

Documented how to run the local demo server on a different port when the default port is already in use.

v0.3.0 library update (#3)

Expanded README and agent documentation, added runnable agent examples, improved inline HTML rendering, and added section object discriminators.