Moving from another tool

Ghost, Hugo and Jekyll

Ghost exports, and Hugo and Jekyll sites, come across the same way as WordPress, each with one command.

Only move what's yours. HotDog's importers are migration tools, for moving a site you own, or have the rights to, onto HotDog CMS. They're not for copying anyone else's site, posts or pictures. Every import says so when it starts, and again at the top of its report.

Start a HotDog site first, as for WordPress:

hotdog-cms new mysite
cd mysite

Ghost

In Ghost, go to Settings → Labs → Export to download your content as a JSON file. Then:

hotdog-cms import ghost -file export.json -url https://your-old-site.example

-url is your Ghost site's address, which the import needs to fetch your pictures.

Hugo

Point it at your Hugo site's folder:

hotdog-cms import hugo -from ../my-hugo-site

Hugo's posts section becomes HotDog's articles collection. To rename other sections, add -rename, as from=to pairs:

hotdog-cms import hugo -from ../my-hugo-site -rename posts=articles,notes=news

Pages' url and aliases become redirects. Hugo shortcodes can't run in HotDog: they're left as text, and the report lists every one.

Jekyll

hotdog-cms import jekyll -from ../my-jekyll-site

Posts, pages and their permalinks come across, and redirect_from becomes redirects. Liquid tags ({% … %}) are left as text and listed in the report. Simple Jekyll sites work best.

For all of them

  • -posts picks the collection posts go into (default articles).
  • Nothing is overwritten unless you add -overwrite; run an import again, and it skips what's there.
  • Then read the report, run hotdog-cms check, and look at the site with hotdog-cms serve.