[hugo, static, website, generator, class, academic]

Why to Launch a Website?

Whether you want to spread the word about your research work or to share content with your students in open education classes, getting your very own website to do so would help you immensely.

A few ideas of what you could do with a personal website:

  • Showcase your own academic profile and research work in a professional way
  • Disclose data and share your results with the world
  • Run your open education classes, publishing the syllabus, lectures, exercises…
  • Maintain a collection of articles or blog posts
  • Virtually anything else!

However, getting a new website up and running is often perceived as a daunting and expensive task, especially if you’re not really an IT guy. No worries! In this tutorial, you will learn how to launch a static website within minutes, free of charge, and without writing a single line of code.

The Basics

First off, what is a static website?

A static website serves exactly the same content to all users (with just a few exceptions). All the web pages delivered to the users are also exactly as stored - think of Wikipedia.

By contrast, dynamic websites show different content depending on the user accessing them. For instance, your Facebook newsfeed would probably look a bit different from Barack Obama’s one.

As you may have guessed, in this guide we will deal only with static websites because they are easier and cheaper to set up and maintain, they’re faster, safer and work great for our purposes.

Enter the World of Static Site Generators

Static Site Generators (SSGs) combine content with templates to generate the pages of a website. For instance, you can write your content in Markdown and then pick a template to choose how the content will be displayed.

In other words, SSGs are not too rigid on how the frontend of your site is built: once you write the content, you’re free to change “how it looks” as many times as you want. It’s up to the SSG to generate the HTML, CSS and JS assets accordingly.

There are many SSGs out there in just about any programming language. We encourage you to spend some time researching which one works best for you if you’re serious about this.


Don’t overestimate the importance of which programming language the SSG is based on. You don’t need to know that language, unless you require some custom modifications.


For the purposes of this tutorial, we choose Hugo, a very popular SSG written in Go, which is very fast. You will learn how to use it in the next sections.

Contributed by Andrea Antonacci