Page MenuHomewrite.as

Import posts from other platforms
Open, NormalPublic

Description

  • WordPress
  • Ghost
  • Medium
  • Jekyll?

WordPress

Sample XML

Haven't found a comple Go solution, but this looks like a possible solution for quickly exporting and converting posts to Markdown (using node.js): https://www.npmjs.com/package/pottercms-wordpress

Event Timeline

matt updated the task description. (Show Details)Dec 10 2015, 12:09 AM
matt added projects: Restricted Project, Write.as Web, Restricted Project.
matt moved this task to Restricted Project Column on the Restricted Project board.
matt changed the visibility from "All Users" to "Restricted Project (Project)".
matt changed the edit policy from "All Users" to "Restricted Project (Project)".
matt added a subscriber: matt.
matt created this task.
matt raised the priority of this task from to Wishlist.
matt updated the task description. (Show Details)Dec 12 2015, 3:40 PM
matt renamed this task from Import from WordPress to Import posts from other platforms.
matt moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Feb 20 2016, 8:39 PM
matt moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Feb 29 2016, 6:12 AM
matt moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Mar 29 2016, 8:24 PM
matt moved this task from Backlog to Far Future on the Write.as Web board.Sep 14 2016, 2:18 AM
matt added a comment.Aug 9 2017, 2:46 AM

Finished a manual import utility for Ghost tonight. Should be able to use it as a starting point for future integrations.

matt removed projects: Restricted Project, Restricted Project.Sep 8 2017, 2:18 AM

This will be extremely useful for getting new users on board right away, so we don't want to charge for it. It's also not necessary for already-launched 2.0 / #collections_sprint

matt changed the visibility from "Restricted Project (Project)" to "Public (No Login Required)".May 31 2019, 3:48 PM
matt added a project: WriteFreely.
matt raised the priority of this task from Wishlist to Normal.
joyeusenoelle added a subscriber: joyeusenoelle.EditedJun 6 2019, 8:09 PM

Commenting here since this affects all the child tasks:

What should happen if a user imports a blog with a name that already exists in the database? For example, a user has a WriteFreely blog called "My Thoughts" (with the slug my-thoughts). They then import posts from an old WordPress blog that's also called "My Thoughts". WriteFreely won't allow two blogs with the same name (I checked). How should we handle the collision?

Options that occur to me:

  • Create a second blog called "My Thoughts 2" with the slug my-thoughts-2. (Continue incrementing to my-thoughts-3 if my-thoughts-2 is already taken, etc.)
  • Add the posts from the imported blog to the existing blog, effectively merging the imported and existing blogs.
  • Offer the user the ability to rename the imported blog as part of the import process.

Also worth considering: offering the user the choice of these options. But to get the project rolling, let's establish a default first and work up from there.

matt added a comment.Jun 6 2019, 10:43 PM

I'd say the default behavior should be #1, to generate a unique slug for the imported collection.

We already do this with post slugs by appending 4 random characters in case of a collision, and I'd say we do the same here. That'll save work parsing the last number, handling errors, etc. As a bonus to this behavior, the user can always then move their posts to the collection with the original name if they want.

In the future, I agree the user should have a choice (probably in line with T614: WriteFreely import blog selector). But definitely out of scope for now.

matt changed the edit policy from "Restricted Project (Project)" to "All Users".Jun 14 2019, 2:12 PM