87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# carpe-medium
|
|
|
|
fetch Medium posts and push them to Ghost
|
|
|
|
> **Note:** This app is still work in progress!
|
|
|
|
|
|
|
|
# installation
|
|
|
|
To install, run the following commands:
|
|
|
|
cd carpe-medium
|
|
yarn install
|
|
yarn link
|
|
|
|
The `carpe-medium` command should now be available in your path. If not,
|
|
check permissions or run `node ./index.js` directly.
|
|
|
|
# usage
|
|
|
|
The main point of this tool is to easily pull Medium posts and add them
|
|
to a Ghost site, so that you can (for example) cross-post your content
|
|
between Medium and Ghost.
|
|
|
|
This project is created for the [Snipette](https://www.snipettemag.com)
|
|
website, and as such might have some Snipette-specific features.
|
|
However, you're free to use it as you like, and any contributions are
|
|
welcome!
|
|
|
|
## Pull a post from Medium
|
|
|
|
# replace the URL with an actual Medium post
|
|
carpe-medium fetch https://medium.com/@username/some-post-abc123
|
|
|
|
This will create a new folder in `./content` containing:
|
|
|
|
* the post as a markdown file
|
|
* image files for each post (linked appropriately)
|
|
* [upcoming] a JSON file with post metadata
|
|
|
|
## Push a post to Ghost
|
|
|
|
# replace some-post with post directory
|
|
carpe-medium push content/some-post
|
|
|
|
Currently, this command does not do anything. We're working on it!
|
|
|
|
## Copy a Medium post directly to Ghost
|
|
|
|
# replace the URL with an actual Medium post
|
|
carpe-medium import https://medium.com/@username/some-post-abc123
|
|
|
|
This is basically the other two commands combined, so, like the `push`
|
|
command, doesn't do anything for the second part as of now.
|
|
|
|
## Import a Medium user to Ghost
|
|
|
|
# Replace username and email with appropriate values
|
|
# The username should match an existing Medium user
|
|
carpe-medium content username user@example.com
|
|
|
|
This will output a JSON object. Copy-paste that object into a new file
|
|
(eg. `ghost-import.json`), then open your Ghost Admin and import the
|
|
file via the "Labs" section. This is required becaues Ghost doesn't
|
|
let you directly add users; it only lets you import them.
|
|
|
|
# credits
|
|
|
|
* Medium import/export is inspired by and depends on a modified version
|
|
of the [mediumexporter](https://github.com/xdamman/mediumexporter)
|
|
library cum cli tool
|
|
* Image upload inspired by
|
|
[ghost-webdav-storage-adapter](https://github.com/bartt/ghost-webdav-storage-adapter),
|
|
or will be, once it's implemented
|
|
|
|
# contributing
|
|
|
|
We're developing this software internally for
|
|
[Snipette](https://www.snipettemag.com), but, if you find our tool
|
|
useful and think you can improve it, we'd be happy to have your
|
|
contributions! Just start an issue or open a pull request :)
|
|
|
|
# license
|
|
|
|
This code is released under the MIT license. See the LICENSE file for
|
|
details.
|