The Academic theme enables you to easily create a beautifully simple academic or personal website using the Hugo static site generator.
- Designed for personal and academic staff/student use
- Customizable Biography, Publications, Projects, News/Blog, Teaching, and Contact widgets
- Write in Markdown for easy formatting and code highlighting, with LaTeX for mathematical expressions
- Academic linking (Scholar etc.), Google Analytics, and Disqus comments
- Responsive and mobile friendly
- Simple and refreshing one page design
Install Hugo and create a new website by typing the following commands in your Terminal or Command Prompt app:
hugo new site my_website cd my_website
Install Academic theme with git:
git clone https://github.com/gcushen/hugo-academic.git themes/academic
Or alternatively, download Academic and extract it into a
themes/academicfolder within your Hugo website.
If you are creating a new website, copy the contents of the
exampleSitefolder to your website root folder, overwriting existing files if necessary. The
exampleSitefolder contains an example config file and content to help you get started.
cp -av themes/academic/exampleSite/* .
Start the Hugo server from your website root folder:
hugo server --watch
Now you can go to localhost:1313 and your new Academic themed website should appear.
Customize your website - refer to the Getting Started section below
Build your site by running the
hugocommand. Then host it for free using Github Pages. Or alternatively, copy the generated
public/directory (by FTP, Rsync, etc.) to your production web server (such as your university’s hosting service).
Assuming you created a new website with the example content following the installation steps above, this section explores just a few more steps in order to customize it.
The core parameters for the website can be edited in the
config.toml configuration file:
baseurlto your website URL (we recommend GitHub Pages for free hosting)
titleto your desired website title such as your name
- The example Disqus commenting variable should be cleared (e.g.
disqusShortname = "") or set to your own Disqus shortname to enable commenting
- Edit your details under
[params]; these will be displayed mainly in the homepage about and contact widgets (if used). To disable a contact field, simply clear the value to
- Place a square cropped portrait photo named
static/img/folder, overwriting any defaults. Alternatively, you can edit the
avatarfilepath to point to a different image name or clear the value to disable the avatar feature.
- To enable LaTeX math for your site, set
math = true
- Social/academic networking links are defined as multiples of
[[params.social]]. They can be created or deleted as necessary.
Edit your biography in the about widget
content/home/about.md that you copied across from the
themes/academic/exampleSite/ folder. The research interests and qualifications are stored as
education variables. The academic qualifications are defined as multiples of
[[education.courses]] and can be created or deleted as necessary. It’s possible to completely hide the interests and education lists by deleting their respective variables.
Customize homepage widgets
Each widget is responsible for a section on the homepage and contains further parameters that can be edited as desired. The parameters can be found in the preamble/frontmatter (between the pair of
+++) for each widget located in the
By default, publications will be displayed in a simple list. If you prefer a more detailed list with abstract and image, you can enable the detailed publication list on the homepage by setting
detailed_list = true in
Add your content
Refer to our guide on managing content to create your own homepage sections, publications, blog posts, and projects.
Remove unused widgets and pages
Customization & Upgrading
Continue reading below for advanced customization tips and instructions for keeping the theme up-to-date with any improvements that become available.
It is possible to carry out many customizations without touching any files in
themes/academic, making it easier to upgrade the theme in the future.
[[menu.main]] entries towards the bottom of
config.toml define the navigation links at the top of the website. They can be added or removed as desired.
Save your main icon and mobile icon as square PNG images named
apple-touch-icon.png, respectively. Place them in your root
Theme color (CSS)
You can link custom CSS assets (relative to your root
static/css) from your
custom_css = ["custom.css"].
For example, lets make a green theme. First, define
custom_css = ["green.css"] in
config.toml. Then we can download the example green theme and save it as
static/css/green.css, relative to your website root (i.e. not in the
To enable Google Analytics, add your tracking code in
config.toml similarly to
googleAnalytics = "UA-12345678-9".
Third party and local scripts (JS)
To add a third party script, create a file named
head_custom.html in a
layouts/partials/ folder at the root of your website (not in the
themes folder). Any HTML code added to this file will be included within your website’s
<head>. Therefore, it’s suitable for adding custom metadata or third party scripts specified with the async attribute.
Whereas for your own local scripts, you can link your local JS assets (relative to your root
static/js) from your
custom_js = ["custom.js"].
Permalinks, or permanent links, are URLs to individual pages and posts on your website. They are permanent web addresses which can be used to link to your content. Using Hugo’s permalinks option these can be easily customized. For example, the blog post URL can be changed to the form yourURL/2016/05/01/my-post-slug by adding the following near the top of your
[permalinks] post = "/:year/:month/:day/:slug"
:slug defaults to the filename of the post, excluding the file extension. However, slug may be overridden on a per post basis if desired, simply by setting
slug = "my-short-post-title" in your post preamble.
Before upgrading the theme, it is recommended to make a backup of your entire website directory, or at least your
themes/academic directory. You can also read about the most recent milestones (but this doesn’t necessarily reflect the latest master release).
Before upgrading for the first time, the remote origin repository should be renamed to upstream:
$ cd themes/academic $ git remote rename origin upstream
To list available updates:
$ cd themes/academic $ git fetch upstream $ git log --pretty=oneline --abbrev-commit --decorate HEAD..upstream/master
Then, upgrade by running:
$ git pull upstream
If you have modified files in
themes/academic, git will attempt to auto-merge changes. If conflicts are reported, you will need to manually edit the files with conflicts and add them back (
git add <filename>).
If there are any issues after upgrading, you may wish to compare your site with the latest example site to check if any settings changed.
Feedback & Contributing
Please use the issue tracker to let me know about any bugs or feature requests, or alternatively make a pull request.
For general questions about Hugo, there is a Hugo discussion forum.
Copyright 2016 George Cushen.
Released under the MIT license.