0.3.33 • Published 4 months ago

@tryghost/mg-jekyll-export v0.3.33

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

Migrate Jekyll Export

Migrate content from Jekyll using the supplied zip file, and generate a zip file you can import into a Ghost installation.

Install

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-jekyll-export --save

or

yarn add @tryghost/mg-jekyll-export

Usage

To run a Jekyll migration, the required command is:

migrate jekyll --pathToZip /path/to/site.zip

The zip should have a structure like:

_posts/
├── 2020-10-27-my-post.md
├── 2021-05-19-another-post.markdown
└── 2023-06-03-newest-post.html
_drafts/
└── 2023-06-03-some-draft.md

It's possible to pass more options, in order to achieve a better migration file for Ghost:

  • --pathToZip (required)
    • Path to a jekyll export zip
    • string - default: null
  • -V --verbose
    • bool - default: false
    • Show verbose output
  • --zip
    • bool - default: true
    • Create a zip file
  • -s --scrape
    • Configure scraping tasks
    • string - default: all
    • Choices: all, img, web, media, files, none
  • --sizeLimit
    • number - default: false
    • Media files larger than this size (defined in MB i.e. 5) will be flagged as oversize
  • -u --url
    • string - default: false
    • Provide a URL (without trailing slash) to the hosted source site
  • -e --email
    • string - default: false
    • Provide an email domain for users e.g. example.com
  • --addTags
    • string - default: null
    • Provide one or more tag names which should be added to every post in this migration. This is addition to a '#jekyll' tag, which is always added.
  • --datedPermalinks
    • Set the dated permalink structure
    • string - default: none
    • Choices: none, '/yyyy/mm/', '/yyyy/mm/dd/'
  • --fallBackHTMLCard
    • bool - default: true
    • Fall back to convert to HTMLCard, if standard Mobiledoc convert fails
  • --cache
    • Persist local cache after migration is complete (Only if --zip is true)
    • bool - default: true

A more complex migration command could look like this:

migrate jekyll --pathToZip /path/to/site.zip --email example.com

This will process all posts from the zip file, and all authors will have an email address ending in 'example.com'

Develop

This is a mono repository, managed with lerna.

Follow the instructions for the top-level repo. 1. git clone this repo & cd into it as usual 2. Run yarn to install top-level dependencies.

Run

To run a local development copy, cd into this directory, and use yarn dev instead of migrate like so:

yarn dev jekyll --pathToZip /path/to/site.zip

Test

  • yarn lint run just eslint
  • yarn test run lint and tests

Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the MIT license.

0.3.33

4 months ago

0.3.32

5 months ago

0.3.31

6 months ago

0.3.30

8 months ago

0.3.29

10 months ago

0.3.28

11 months ago

0.3.27

1 year ago

0.3.26

1 year ago

0.3.25

1 year ago

0.3.24

1 year ago

0.3.23

1 year ago

0.3.22

1 year ago

0.3.21

2 years ago

0.3.20

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.9

2 years ago

0.3.10

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.2

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.8

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.1.10

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.9

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago