Export content from Chorus using their exports, and generate a zip
file you can import into a Ghost installation.
To install the CLI, which is required for the Usage commands below:
npm install --global @tryghost/migrate
To use this package in your own project:
npm install @tryghost/mg-chorus --save
or
yarn add @tryghost/mg-chorus
To run a Ghost API migration, the required command is:
migrate chorus --entries /path/to/file.zip --url http://example.com
It's possible to pass more options, in order to achieve a better migration file for Ghost:
-
--entries
- array - default:
null
- Path(s) to Chorus exports ZIPs
- array - default:
-
--url
- string - default:
null
- URL to live site
- string - default:
-
--verbose
- bool - default:
false
- Show verbose output
- bool - default:
-
--zip
- bool - default:
true
- Create a zip file
- bool - default:
-
--scrape
- Configure scraping tasks
- string - default:
all
- Choices:
all
,web
,none
-
--addPrimaryTag
- string - default:
null
- Provide a tag name which should be added to every post as primary tag
- string - default:
-
--fallBackHTMLCard
- bool - default:
true
- Fall back to convert to HTMLCard, if standard Mobiledoc convert fails
- bool - default:
-
--cache
- Persist local cache after migration is complete (Only if
--zip
istrue
) - bool - default:
true
- Persist local cache after migration is complete (Only if
A more complex migration command could look like this:
migrate chorus --entries /path/to/file.zip, /path/to/other.zip --url http://example.com --addPrimaryTag News
This will get all posts, apply the tag 'News'
This is a mono repository, managed with lerna.
Follow the instructions for the top-level repo.
-
git clone
this repo &cd
into it as usual - Run
yarn
to install top-level dependencies.
To run a local development copy, cd
into this directory, and use yarn dev
instead of migrate
like so:
yarn dev chorus <API token>
-
yarn lint
run just eslint -
yarn test
run lint and tests
Copyright (c) 2013-2023 Ghost Foundation - Released under the MIT license.