0.4.29 • Published 4 months ago

@tryghost/mg-substack-members-csv v0.4.29

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

Substack Ghost CSV Converter

Converts the "Total Email List" and "Subscribers" CSV exports from Substack to a CSV compatible with Ghost.

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-substack-members-csv --save

or

yarn add @tryghost/mg-substack-members-csv

Usage

To run a Substack CSV migration, the required command is:

migrate substack-members --pathToFile /path/to/emails.csv

To convert paid subscriptions, add --subs with a second file path:

migrate substack-members --pathToFile /path/to/emails.csv --subs /path/to/members.csv

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

  • --pathToFile (required)
    • Path to the signups CSV file as generated by Substack ("Total Email List").
    • string - default: null
  • -V --verbose
    • Show verbose output
    • bool - default: false
  • -s --subs
    • Path to the subscribers CSV file (paid, comp, gift) as generated by Substack ("Subscribers")
    • string - default: null
  • -l --limit
    • Define the batch limit for import files
    • int - default: 5000
  • --comp
    • Provide two values in the format YY|YYYYMMDD:none|free. YY is the threshold in years or YYYYMMDD as the exact date after which Substack comp members should receive a complimentary plan depending on the expiry date. none|free the option how to import members before this threshold, e. g. 5:free
    • string - default: 0:free
    • Choices: YY:none, YY:free, YYYYMMDD:none, YYYYMMDD:free
  • --compLabel
    • Provide a label for Substack comp subscribers
    • string - default: substack-comp
  • --gift
    • Provide two values in the format YY|YYYYMMDD:none|free. YY is the threshold in years or YYYYMMDD as the exact date after which Substack gift members should receive a complimentary plan depending on the expiry date. none|free the option how to import members before this threshold, e. g. 5:free
    • string - default: 0:free
    • Choices: YY:none, YY:free, YYYYMMDD:none, YYYYMMDD:free
  • --giftLabel
    • Provide a label for Substack gift subscribers
    • string - default: substack-gift
  • --freeLabel
    • Provide a label for Substack free subscribers
    • string - default: substack-free
  • --paidLabel
    • Provide a label for Substack paid subscribers
    • string - default: substack-paid
  • --cache
    • Persist local cache after migration is complete (Only if --zip is true)
    • bool - default: true

A more complex migration command that accounts for Stripe data could look like this:

migrate substack-members --pathToFile /path/to/emails.csv --subs /path/to/members.csv --giftLabel Gifted --freeLabel Free --paidLabel Supporter --compLabel 'Try It Out'

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 substack-members --pathToFile /path/to/emails.csv

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.4.29

4 months ago

0.4.28

4 months ago

0.4.27

5 months ago

0.4.26

5 months ago

0.4.24

6 months ago

0.4.25

6 months ago

0.4.23

8 months ago

0.4.22

9 months ago

0.4.21

10 months ago

0.4.20

1 year ago

0.4.19

1 year ago

0.4.18

1 year ago

0.4.17

1 year ago

0.4.16

2 years ago

0.4.15

2 years ago

0.4.9

2 years ago

0.4.10

2 years ago

0.4.13

2 years ago

0.4.14

2 years ago

0.4.11

2 years ago

0.4.12

2 years ago

0.4.8

2 years ago

0.4.5

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.6

2 years ago

0.3.5

3 years ago

0.3.7

2 years ago

0.3.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.2.20

3 years ago

0.2.19

3 years ago

0.2.18

3 years ago

0.2.16

3 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago