Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Import framework #854
We need to come up with a framework for building apps which import data from other blogs.
The first one we should support is WordPress's WXR format, as other blogs such as tumblr already have a way to export to that format.
WXR is an XML format, so this definitely needs to be a plugin as parsing XML will add bloat to Ghost we really don't want.
Is there already a WordPress importer at the moment? Thought I heard someone mention it?
Is the thinking that for a plugin like this the flow (server side) would be:
There is a Ghost WordPress plugin: http://wordpress.org/plugins/ghost/, which exports WordPress data into the Ghost JSON format. Then we have the standard importer which lives at
I am a bit lost by the rest of your comment, sorry! What do you mean by 'server side flow' and 'create the import module with the standard interface'.
Some things which need considering:
With regards to imports themselves, there is a lot of work that needs doing. @sebgie had a proposal for moving them onto the API which would be great, and I think it's also necessary to do a validation run, then spit out any problems / options to solve, and then do the final import.
added a commit
Sep 29, 2013
I was trying to figure out what the process would be for creating and using a plugin, I'll try and explain a bit more clearly :-)
With regard to module dependencies I was asking if you imagine a plugin being written independently, npm installed, and then the whole module's folder copied to the server (somehow). If a module has all of its dependencies in node_modules already then a require is enough to use it. The onus would be on the plugin (writer) to include/install the dependencies.
This is the same discussion as using plugins elsewhere really.
I imagined that after installing a plugin, npm install would be run for it.
Long term, we will be able to improve this drastically. We want to have our own version of npm which would act as a marketplace for both themes and plugins (and potentially language packs as a 3rd type of thing). Say for example it was called 'gpm', then running 'gpm install import-plugin' from Ghost's root directory would do the necessary, and then we can build a UI which runs this command.
All of that is very, very long term though, and no where near possible until we're public, etc.