Deployment

Sites built with Wowchemy can be deployed to almost any provider due to the static nature of the generated website.

Have you considered making a professional, memorable impression on your visitors with your very own personalized domain name? Get a personalized domain name and learn how to set it up.

If you create your site using the wizard, it will be automatically deployed to the recommended provider, Netlify.

Let’s take a look at Netlify and some of the alternatives below.

If you decide to deploy with Netlify (recommended), your site will be built automatically.

Otherwise, download your site to your computer and run the hugo command in the terminal app to generate your entire site in a new folder named public/. The contents of the public/ folder can then be uploaded to whichever host you choose.

Netlify

We recommend deploying your site with Netlify. Netlify is free and provides fast global access, automated deployment when you add or modify content, and one-click HTTPS security. Check out our guide to deploy with Netlify.

GitHub Pages

Go to Github and register for an account if you have not done so already. Github encourage using your real name as your username, and this can help your Github URL (which you will be assigned later) to have a professional appearance.

Install Git if it’s not already present on your system. You can check by running git --version in your Command Prompt/Terminal app.

Once you have created your Github account and setup Git on your computer, we will create two new repositories (often abbreviated as repos) on Github with the following names:

  • my-wowchemy-site or any other name you like - we will save your content to this repo
    • If you have an existing GitHub repository containing your Wowchemy site, skip this step
  • <USERNAME>.github.io where <USERNAME> is your Github username - we will save the generated website to this repo

To create the <USERNAME>.github.io repository, click the “+” icon in the top right corner and then choose “New Repository”.

To create the my-wowchemy-site repository, Fork a Wowchemy starter template on GitHub, such as the Starter Academic template and clone (download) your fork to your computer with Git by replacing <USERNAME> in the following command with your Github username:

git clone https://github.com/<USERNAME>/my-wowchemy-site.git My_Website
cd My_Website
git submodule update --init --recursive

In your config/_default/config.toml file, set baseurl = "https://<USERNAME>.github.io/", where <USERNAME> is your Github username. Stop Hugo if it’s running and delete the public directory if it exists (by typing rm -r public/).

Add your .github.io repository into a submodule in a folder named public, replacing with your Github username:

git submodule add -f -b master https://github.com/<USERNAME>/<USERNAME>.github.io.git public

Add everything to your local git repository and push it up to your remote repository on GitHub:

git add .
git commit -m "Initial commit"
git push -u origin master

Whilst running the above commands you may be prompted for your Github username and password.

Next, regenerate your website’s HTML code by running Hugo and uploading the public submodule to GitHub:

hugo
cd public
git add .
git commit -m "Build website"
git push origin master
cd ..

Once Git has finished uploading your site to Github, you can open your new https://<USERNAME>.github.io website in your browser, substituting with your Github username.

Automating deployment

If you are feeling more adventurous, you can consider automating deployment so that when a change, such as a new blog post, is pushed to your my-wowchemy-site repository, your website (<USERNAME>.github.io repository) is automatically re-built. Check out the Hugo discussion forum for inspiration!

If you prefer easy automated deployments whenever you make a change to your site, we recommend deploying with Netlify (see above) rather than Github Pages.

Amazon S3

By uploading the contents of your public folder to Amazon S3, your site can be served with dynamic scaling to almost unlimited traffic. This approach has the benefit of being one of the cheapest and most reliable hosting options available as you only pay for what you use.

Web host via FTP

Use an FTP client to upload the contents of your public folder to a web host. This may be especially convenient for academic students and staff who are provided with university web space.

Previous
Next