Migrate content from Libsyn using your sites RSS feed, 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-libsyn --save
or
yarn add @tryghost/mg-libsyn
To run an absolute basic Libsyn migration, the required command is this:
migrate libsyn --url https://example.com
It's possible to pass more options, in order to achieve a better migration file for Ghost:
--url
(required)- URL to Libsyn website
- string - default:
null
-V
--verbose
- bool - default:
false
- Show verbose output
- bool - default:
--zip
- bool - default:
true
- Create a zip file
- bool - default:
--addTag
- string - default:
null
- Provide a tag slug which should be added to every post in this migration
- string - default:
--useFeedCategories
- bool - default:
true
- Use the itunes:categories as tags for each post
- bool - default:
--useItemKeywords
- bool - default:
true
- Use the itunes:keywords as tags for each post
- bool - default:
--useEmbed
- bool - default:
true
- Use Libsyn embed for audio players. If disabled, audio files will be downloaded and uploaded to Ghost as Audio cards
- bool - default:
-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
- number - 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 libsyn --url https://example.com --useEmbed false --scrape none --useFeedCategories false --useItemKeywords false
This will use the Libsyn <iframe>
embed, not use categories or keyword as tags, and not scrape or save any remote files such as images, audio files, or linked PDFs.
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 libsyn --url https://example.com
yarn lint
run just eslintyarn test
run lint and tests
Copyright (c) 2013-2025 Ghost Foundation - Released under the MIT license.