I was using for quite a while pebble. At that time for some (security?) reason I move there from Wordpress and wanted a blog in the java-world. Strangely I can/couldn't find appealing java-blogging-projects.. (I'm sure there are)

To make a long story short. Due to performance issues I switch again and this time to ghost-cms. It looks very appealing has a good editor and the default-theme is already good enough for me. Now the question, how do I migrate the content from pebble to ghost? ghost already have some importers but obviously none for pebble. But it has a good description how to format data for ghost able to import data.

Let's get fingers dirty

I took the way to export my data via pebble's rss export.

Login as admin in pebble

Utilities > Export utilities > Export Blog (choose the RSS-Option)

This will result in a huge-xml file with the whole textual content of your blog. Looking like this:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="" xmlns:dc="" version="2.0">
    <title>Tom's Blog</title>
    <pubDate>Sun, 02 Aug 2020 17:08:00 GMT</pubDate>
      <title>Working via remote</title>
      <category domain=" OS of choice is linux I needed a good alternative for linux.</p>


Now we need to convert this to a json-format that ghost do understand. The docs are quite good about it and I wrote a python-script that can:

  • import pebble-rss (at least mine)
  • try to download images (jpg,png,gif) (only absolute urls) to images subfolder and rewrites urls
  • export ghost-compatible css

What it does not:

  • export static pages (those are not included in the rss)
  • I guess lots of things... 😉
  • preserve image-names. names are renamed to image-xxxx.[png|jpg|gif]
  • It does not have a CLI-Interface. You will need to alter some(4) variables
    input_name      = 'pebble_blog_rss_orig.xml'
    output_name     = 'blog.json'
    download_images = True
    image_folder    = 'images'

Get the script here:

pebble-blog rss-format to ghost-cms-json-format converter
pebble-blog rss-format to ghost-cms-json-format converter -

Edit the script to fit you filenames
Then run it:


If(!) every went well you will have:

  • the exported json-file
  • an images folder

copy the images in to you ghost's content/images folder (yes, resulting in content/images/images )

Then go to your ghost-admin-console:

Hit browse, select the json-file and import.

If(!) everything went well. Your pebble-blog is now imported.