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 →Evidence at a glance
Sourced account- Source author
- Gavin Jackson
- Original account
- Read the source ↗
- Published
- Source link checked
- Reported result
- Legacy archive available in rebuilt blog.
- Human involvement
- Author chose architecture, reviewed code and adjusted content/design.
A linked account supports attribution. It does not mean we independently reproduced its result.
Report an issue with this case
Open correction emailOpens your email app with the case link included. Nothing is sent automatically.
How 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.
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
Added to Agents In Use
Source checked
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.