Jekyll fans are fond of the Ruby-powered static blogging software due to its ease of use and support for Markdown and the Liquid templating engine. With no database to maintain and no comments to moderate, Jekyll radically simplifies blogging. It’s also the software that powers blogging on Github Pages.
Moving content from WordPress to Jekyll is super easy, thanks to the Jekyll Exporter plugin created by Ben Balter. His Jekyll-powered blog is hosted on GitHub, along with his exporter plugin, which has been in development for more than a year. It was recently updated to be even easier to use and is now available on WordPress.org.
— Ben Balter (@benbalter) December 12, 2014
The one-click plugin converts all posts, pages, taxonomies, metadata, and settings to Markdown and YAML, which can be dropped right into Jekyll.
Who Needs a Jekyll Exporter?
I think WordPress is the best blogging software out there, but there are some bloggers who don’t want the hassle of comment moderation and all the maintenance that WordPress requires. This plugin is perfect for conveniently transitioning to Jekyll.
It’s also useful if you have created a bunch of documentation for a project on your WordPress site but decide to move the docs to a freely hosted Jekyll-powered site on GitHub Pages. This allows you to manage your documentation with version control and makes it easy for others to contribute.
I have not found Jekyll terribly easy to set up when I’ve worked with it in the past. That’s why this exporter plugin is a huge time saver – it basically does everything for you:
- Converts all posts, pages, and settings from WordPress for use in Jekyll
- Export what your users see, not what the database stores (runs post content through the_content filter prior to export, allowing third-party plugins to modify the output)
- Converts all post_content to Markdown Extra (using Markdownify)
- Converts all post_meta and fields within the wp_posts table to YAML front matter for parsing by Jekyll
- Generates a _config.yml with all settings in the wp_options table
- Outputs a single zip file with _config.yml, pages, and _posts folder containing .md files for each post in the proper Jekyll naming convention
The Jekyll Exporter plugin has no settings to configure. Just click the button and you’ll have all your content exported into the correct format for Jekyll and organized into the right structure.
If you’re having trouble with your server timing out on the export, Balter has ensured that the plugin is compatible with WP-CLI. You can run this command, which also has support for sites where wp-content isn’t in the traditional location:
wp jekyll-export > export.zip
Currently, the Jekyll Exporter is the only one of its kind in the WordPress.org plugin directory. Fortunately, it was created by a reputable developer who knows the ins and outs of using Jekyll after WordPress.