Guide

Export formats

Fifteen formats, one crawl. The exporter reads the site once and writes whichever shape the target needs, so choosing a destination is a flag rather than a second export — and switching destinations costs nothing but the write.

Flag Writes Guide
-f json (default) JSON documents, media localised to /media/… Command line reference
-f markdown One Markdown file per post and page, YAML front matter HTML to Markdown
-f ssg A drop-in content source: URL-mirroring paths, single-spelled front matter, cleaned body HTML Static site generator format
-f shopify shopify_posts.csv, shopify_pages.csv, shopify_products.csv, shopify_metadata.csv E-commerce formats
-f magento magento_posts.csv, magento_pages.csv, magento_products.csv, magento_metadata.csv E-commerce formats
-f prestashop Semicolon-delimited product, post, page, category and metadata CSVs, plus a JSON backup E-commerce formats
-f wordpress wordpress_export.xml — WXR, the format WordPress imports natively CMS and headless formats
-f drupal drupal_export.json plus per-entity node, term, user and media files CMS and headless formats
-f ghost ghost_export.json CMS and headless formats
-f strapi strapi_export.json plus per-collection article, page, category, tag, author and media files CMS and headless formats
-f contentful contentful_export.json CMS and headless formats
-f wix wix_export.json Website builder formats
-f squarespace squarespace_export.xml — WXR, which Squarespace imports as WordPress Website builder formats
-f webflow Post, page, category and author CSVs for CMS collections, plus a JSON backup Website builder formats
-f weebly weebly_export.xml and weebly_export.json Website builder formats

markdown and ssg both write pages under the path their URL states, so a page published at /zerowisko/znaczenie/ becomes pages/zerowisko/znaczenie.md. WordPress page addresses are hierarchical and a slug is unique only within its branch: written flat, a child page and an unrelated top-level page sharing a slug landed on one file and one of them was lost (#38). Two documents that still want the same file — a site whose links are missing, so both fall back to their slug — are both written, the second with its WordPress ID appended, and the substitution is reported. The summary states pages written against pages fetched whenever the two differ.

Two things hold for every platform format, and only for those: media URLs are left absolute, because the target platform imports the files from the live site, and address fields (link, canonical_url) stay absolute too. json, markdown and ssg localise media instead — see Media and URL rewriting for the per-format contract in full.

Adding --zip to any of them archives the result; --no-files then removes the loose files, leaving only the archive.