Skip to content
octopress to hugo migrator
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead of codebrane:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


the octopress to hugo migrator

To use octohug, compile octohug.go and drop octohug into your octopress blog directory. octohug does this:

  • converts the octopress post header to a hugo post header
  • converts octopress categories and tags to the hugo equivalent in the post header
  • replaces include_file in the octopress post body with the file content


I had a couple of octopress posts where the title attribute was spread across two lines. There were only two posts like this so I didn't think it worth the hassle of coding a solution. It's much easier to just open the converted file and delete the errant line. You'll know you have one as hugo will throw an error with a two line title.

octohug ignores a lot of octopress headers as I don't use them. Fork and change to suit. There will prolly be lots more headers it doesn't know about that I don't use so if you get weird hugo errors, have a look in the converted file's header and fork/fix for your environment.

what to do

let's say you have an octopress blog in ~/octo/blog and a shiny new, empty hugo blog in ~/hugo/blog.

	go build octohug.go
	cp octohug ~/octo/blog
	cd ~/octo/blog

you'll now have a ~/octo/blog/content/post directory

	cp -r ~/octo/blog/content/post ~/hugo/blog/content

if there are octopress header attributes octohug doesn't know about they'll end up in the hugo header. Fork/fix to suit.

sorting the feed

the octopress feed is at atom.xml while the hugo one is at index.xml so I needed an entry in .htaccess:

	RedirectMatch 301 ^/blog/atom.xml$

give octopress a big hug

octopress got me out of wordpress. It's been superb and a great introduction to static blogs and sites. So long octopress and thanks for al the posts!

You can’t perform that action at this time.