Here are a few tips for migrating an existing website from Jekyll to Hugo. These tips can be applied in conjunction with following Hugo Academic’s getting started guide.
Move static content to
Jekyll has a rule that any directory not starting with
_ will be copied as-is to the
_site output. Hugo keeps all static content under
static. You should therefore move it all there.
With Jekyll, something that looked like
▾ <root>/ ▾ images/ logo.png
▾ <root>/ ▾ static/ ▾ images/ logo.png
Additionally, you’ll want any files that should reside at the root (such as
CNAME) to be moved to
Depending on the amount of customization that was done for each post in Jekyll, this step will require more or less effort. There are no hard and fast rules here except that
hugo server --watch and the Hugo Academic example site are your friends. Test your changes and fix errors as needed.
The default is for Jekyll to publish the website to a
_site directory, whereas Hugo publishes to a
A practical example
Alexandre Normand migrated his website from Jekyll to Hugo in less than a day. You can see all his changes by looking at this GitHub diff. However, bear in mind that this example is not specific to the Academic theme nor does it use the latest version of Hugo.