Sites built using Academic can be deployed in a large variety of ways due to the static nature of the generated website. The recommended deployment method alongside a few of the other most popular techniques are described below.
If using Netlify, your site will be built automatically, otherwise run the
hugo command in your terminal to generate your site in the
public/ folder - now it is ready to copy across to your host.
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.
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:
academic-kickstartor any other name you like - we will save your content to this repo
<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
academic-kickstart repository, fork the Academic Kickstart repository and clone your fork with Git (download it to your computer) by replacing
<USERNAME> in the following command with your Github username:
git clone https://github.com/<USERNAME>/academic-kickstart.git My_Website cd My_Website git submodule update --init --recursive
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/).
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
You can use your own domain name with Github Pages if you wish. You will need to register a domain, point it to Github, and create a
CNAME file in the
static folder of your website, so that Github knows your intentions. For more information, check out the domains guide by Github.
Remember that after you have setup a custom domain, you will need to wait approximately 24-48 hours for the DNS to propagate and then you’ll need to update
baseurl in your Hugo
config.toml to your new URL, regenerate your site (see above section), and redeploy.
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
academic-kickstart repository, your website (
<USERNAME>.github.io repository) is automatically re-built.
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.