Jekyll is a great tool that will build a full blog site using text files written in a specific format. It gives you the bonus of having a very light and quick site that can’t be hacked through script vulnerabilities. The downside of this is that it’s not always easy to edit. It’s harder still when using a mobile device.
This is where WordPress comes in. WordPress can be used to modify the posts (both standard posts and pages) and these changes will automatically be exported. The same applies for taxonomies and users if desired. This means that it is possible to edit content using a mobile device and the WordPress app.
WordPress2Jekyll attempts to marry these two systems together in order to make a quick, secure website that can be easily managed from all devices.
What can it do?
- Exports posts and pages with all the information Jekyll needs to build a page including categories and tags.
- Converts page content to Markdown format (assumes it is HTML).
- Has option to use the WordPress Permalinks patterns rather than using the configured Jekyll method.
- Ability to allow WordPress to run content through the_content filter to allow plugins to interact with the body content.
- Automatically builds individual pages (or full build) depending on what has changed in the post.
- Configurable assets, data and posts directories.
- Ability to export meta data in posts.
- Export authors.
- Export taxonomies.
- On demand mass export.
Limitations
- This plugin assumes that all Jekyll posts are stored in WordPress and any files in the posts directory can be deleted. This is a necessary for maintenance.
- Featured images will be exported and linked accordingly.
- Doesn’t support password protected posts at this time (I’m not sure if it ever will).
- Doesn’t support inline media at this time.
- Supports categories (exported in order)
- Supports tags (exported in order)
- Ideally the WordPress installation should be hidden away and not publicly accessible. I’m working on a separate plugin to do this easily.
Wishlist
- Add full builds to a cron job.
- Export inline media.
- Modify config.yml – User selectable output options.
- CLI usage.
- A more aesthetically pleasing configuration page.