Blog Migration Tool
Convert hundreds of HTML posts to clean Markdown — with enrichment, validation, and full pipeline visibility. Post by post. Every issue surfaced.
A complete pipeline from raw HTML to published Markdown.
Live blog URL or local directory. Automatic platform detection for Blogger and WordPress. Images downloaded, localised, and Wayback-fallback'd during ingest.
Broken images, tracking pixels, external refs, WordPress chrome, malformed code blocks — every issue surfaced before you generate Markdown. Dismiss what you've reviewed.
Edit Markdown in the split-pane editor with autosync scroll. Stage your changes alongside the current version, review the diff, accept or reject — never lose work.
The Quarkus server is done. The Electron packaging is done. With the migration tool itself complete, I turn...
enrichment April 21, 2026When Phase 5 finished, the JEP call count was 22. After six weeks of incremental porting, the number is zer...
Quarkus April 17, 2026Phase 5 is enrich.py — 350 lines that transform a raw blog post HTML file into an archive-ready version. Yo...
Quarkus April 15, 2026Phase 4 is the scan pipeline — scan_html.py, 780 lines, 16 issue detectors, the most-used operation in the ...
Quarkus April 15, 2026Phase 3 ports the HTML manipulation layer: a DRL code reformatter, an XML pretty-printer, a code block fixe...
Quarkus April 15, 2026state.py is where Sparge tracks everything that happens to a post: when the HTML was last scanned, what iss...
Quarkus April 15, 2026Sparge is a blog migration tool — it ingests HTML posts from live blog URLs, enriches them, and converts th...
Quarkus April 15, 2026Phase 0 is done. Quarkus is handling all 35 API endpoints, every call delegated to Python via JEP.
Quarkus April 13, 2026v1.0.0 is tagged. Getting there took four tag pushes, three Windows CI failures each masking the next, and ...
Release April 10, 2026Sparge is now a desktop app. Not a web server you start from a terminal — an actual .app you open, with a d...
Electron April 9, 2026A UI redesign that gives Sparge its identity — parchment, ink, and slate. Warm instead of cold. Archive ins...
Design April 5, 2026Sparge could review posts. What it couldn't do was edit them comfortably. The HTML editor was a plain texta...
UI April 5, 2026Sparge ingested HTML cleanly. What it didn't do was preserve the content that WordPress had embedded rather...
Pipeline April 4, 2026The two-panel reviewer worked. At this point I had something that solved my immediate problem — but I also ...
Launch April 3, 2026I needed the archived HTML and the generated Markdown side by side, with the validation issues visible, wit...
Architecture April 1, 2026Fifteen years of posts on blog.kie.org. 577 mine — on Drools, rule engines, PHREAK, backward chaining, the ...
Archive