Skip to content

Return fetched pages as Markdown, not raw HTML#16

Merged
tamnd merged 1 commit into
mainfrom
m7-url-ingest
Jul 6, 2026
Merged

Return fetched pages as Markdown, not raw HTML#16
tamnd merged 1 commit into
mainfrom
m7-url-ingest

Conversation

@tamnd

@tamnd tamnd commented Jul 6, 2026

Copy link
Copy Markdown
Owner

The fetch tool used to hand the model a raw HTML page. Most of that is chrome (scripts, nav, styling, boilerplate) that buries the actual text and wastes context.

The new readable package extracts the main content (article, else main, else body) and renders it as Markdown: headings, paragraphs, lists, links, emphasis, inline and block code, tables, and images, with chrome dropped and whitespace collapsed. It is pure Go over golang.org/x/net/html, so tomo stays a single static binary.

fetch now runs HTML through it and returns the page title plus the Markdown body. Non-HTML content types are still passed through as text.

A raw page is mostly chrome: scripts, nav, styling, and boilerplate that
buries the text and burns the model's context. The new readable package
lifts out the main content and renders it as Markdown, which the model
reads far better than a wall of tags. It is pure Go over x/net/html, so
tomo stays a single static binary.

The fetch tool now runs HTML through it, returning the page title and the
Markdown body. Other content types are still passed through as text.
@tamnd tamnd merged commit 2e998e9 into main Jul 6, 2026
5 checks passed
@tamnd tamnd deleted the m7-url-ingest branch July 6, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant