How to use Codex to migrate a Blogger archive
Gavin Jackson used Codex to import Blogger Atom posts into a PHP blog, preserving timestamps and URLs before converting HTML to Markdown and saving images.
Suggested prompt
Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.
Migrate [Blogger Atom archive] into [file-based blog]. Preserve timestamps, categories and legacy URLs in the first import, retaining HTML if needed. Convert content to Markdown in a separate reviewed pass and save image assets locally. Show conversion exceptions and representative rendered posts.
Reach people exploring AI agents
See placements →What happened
Legacy archive available in rebuilt blog.
Reported by Gavin Jackson on BlogHow the agent did it
- Scaffolded PHP/Markdown/YAML blog.
- Codex wrote Atom importer preserving timestamps, URLs and original HTML.
- Wrote second HTML-to-Markdown converter and materialized image assets.
Where a person stepped in
Author chose architecture, reviewed code and adjusted content/design.
Gavin Jackson rebuilt his blog around plain content files and used Codex to migrate an older Blogger archive. He chose PHP rendering, Markdown with YAML metadata and a posts directory rather than a database-backed CMS. Codex helped scaffold the blog and add features such as RSS, tags and draft support.
The migration happened in stages. An initial importer read the Blogger Atom feed, extracted titles, dates and categories, generated slugs and excerpts, and preserved legacy URLs. It kept the original HTML body while bringing the archive into the new framework. That allowed publishing to proceed without requiring perfect conversion first.
Codex then helped write a separate HTML-to-Markdown script covering headings, lists, links, quotations, code and embedded images. It also saved image assets into the repository so imported posts did not rely entirely on externally hosted pictures. Docker Compose provided a repeatable local environment, and Codex assisted with Apache and SSL deployment details.
Jackson retained architectural and editorial control, reviewing code, adjusting content and steering the design. The reported result is his functioning file-based blog carrying both old and new writing.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: Blog · Gavin Jackson
Frequently asked questions
Why preserve HTML during the first import?
The initial importer brought posts into the new framework with original HTML intact, allowing later cleanup instead of blocking the entire migration.
What historical metadata survived?
The source describes original publication timestamps, titles, categories as tags, generated slugs and preserved legacy URLs.
How were old image dependencies reduced?
A later conversion script materialized image assets in the local repository while converting imported HTML to Markdown.
More details
Remaining steps
- Helped configure Docker development and Apache/SSL deployment.
About this account
Codex wrote the blog scaffold and migration scripts, converted archive content, saved image assets and assisted local and production setup.
Primary first-person account opened and checked on 2026-10-14. Iterative migration; initial HTML preserved deliberately before cleanup. Outcomes and test claims are attributed to the source and were not independently reproduced. Prompt is suggested by Agents In Use, not the author's quoted prompt.
Credit: Gavin Jackson on Blog
Source published 28 Mar 2026
Source checked 14 Oct 2026
Tools and topics
Codex · PHP · Markdown · YAML · Docker Compose · Apache
Legacy archive · Blogger · Markdown conversion
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.