Better late than never, right?
Its taken a while, but I've finally converted my WordPress to blog to Ghost. Ghost is an open source blogging platform, with a heavy focus on the content being created. Minimalistic (to my eyes, anyway), and lightning fast.
As I'm lucky enough to have an MSDN subscription, I've hosted my website on Azure, where I get free credits each month, which can be used towards any of the bajillions (yes, a Real™ unit of measurement) features available.
If you want to host a website on Azure, you can too! If you sign up for the Azure Trial, you get 10 websites for free, which run an amazing range of platforms/techs. Check it out here!.
One of the most amazing features that Ghost supports, is the use of Markdown within its posts. Think of Markdown as like a short-hand formatting mini-language. Putting in a new heading is as easy as typing "#My Heading". In short, its amazing.
On Azure, you can also spin up a pre-made Ghost Website, without any of the
messyfun stuff I had to do to get it working.
The other awesome thing with the above two links is that both deal with deploying to Azure from a Git repository. Make some changes, commit, and push to the Azure Git remote (think of it as a staged location) that Scott's post will add for you (or you can add yourself, using the guide in Jeremiah's post), and Azure will automatically pick it up, check it and deploy it.
It's bloody Magic™.
I've also used a nifty little tool, called "wp2ghost", to convert my posts from WordPress' XML format, to the JSON format that Ghost is expecting.
To export the posts from WordPress, go to the WordPress Dashboard, go Tools -> Export, and then click "Export", which will start a file download containing the content of your blog (images included!).
Note: If you are currently self-hosting your WordPress blog, you can do this much quicker with the Ghost Plugin for WordPress. Install the plugin, and click 'Export', and that's it. The steps below are not required.
Go to the wp2ghost page, and download the zip file. Extract it somewhere.
A Gotcha: There is an issue with the package.json file in wp2ghost, where the version number in the package.json file (what the NodeJS Package Manager uses to resolve dependencies for the package), is invalid, as NPM uses a semantic versioning scheme, expecing 3 lots of numbers.
Open the package.json file, and change the version value from "0.0.3.4" to "0.3.4" and save it. Then run...
...from the NodeJS Command Prompt, in the location you've extracted the wp2ghost utility, it will magically (not magically, but you know what I mean) resolve the dependencies it needs.
After this, copy your exported WordPress XML file to the wp2ghost installation directory and, using the NodeJS Command Prompt, run:
node wp2ghost [yourfile].xml
As my very first contrubution to the open source community, I've fixed the package.json file and sent a Pull Request to the project's creator. Exciting!
Now that's all taken care of, to import the file into your Ghost website, it's a simple matter of going to:
And from the file picker displayed there, import the file and its all done (images included, which still boggles my puny mind!).
So there you have it! My journey from WordPress to Ghost has been fun, and I hope this helps anyone looking to make the same move.
Good luck! Ping me on Twitter if you have any questions or comments :)
Other useful links...