This repository contains a Hugo template to create a personal academic website. The template uses the PaperMod theme, but it modifies it in various ways to be more adapted to academic websites and more minimalist. The website is hosted on GitHub Pages.
The template is documented at https://pascalmichaillat.org/d5/.
The website produced by the template can be viewed at https://pascalmichaillat.org/hugo-website/.
- Webpages are organized in three categories, which are available from any page through the menu and from the homepage through buttons: papers, courses, and data.
- A list of tags (keywords) used in papers and courses is automatically generated so visitors can easily see the topics covered in research and teaching.
- An archive page is automatically generated so visitors can easily see the most recent material added to the website.
- The template provides social icons specific to academia: office hours, Zoom, Substack, and Google Scholar.
- The metadata for webpages, which appear below the webpage title, are tailored to the academic context.
- Color scheme, font, spacing, buttons, and general appearance have been streamlined and made as minimalist as possible.
- The template provides new archetypes for paper pages, course pages, and a search page.
- Clone the repository to your local machine
- Install Hugo. On a Mac, this is easily done with Homebrew: simply run
brew install hugo
in the terminal. - Since the website is hosted on GitHub Pages, it is convenient to install GitHub Desktop. The website can conveniently be updated from your local machine via GitHub Desktop without going to GitHub.
- Update the
baseURL
parameter inconfig.yml
with the website URL that you plan to use. By default the ULR ishttps://username.github.io
.
- The first time that you push your repository to GitHub, you need to allow GitHub Actions and GitHub Pages so the website can be built and deployed to GitHub Pages.
- The first step is to ask GitHub to publish the website with a GitHub Action. GitHub offers a ready-made action to publish a Hugo website, called
Deploy Hugo site to Pages
. This action must be enabled in the Pages Settings of your GitHub repository. You can view the workflow triggered by the action in the.github/workflows/hugo.yml
file. - Once the GitHub Actions are enabled, GitHub will build and publish the website as soon as the repository is updated.
Navigate to the website directory and run hugo server
in the terminal. The command builds the website on your machine and makes it available at http://localhost:1313. You can modify the content of the repository and develop your website entirely on your local machine.
Once your website is ready to be made public, run hugo
in the terminal from the website directory. When you run the hugo
command, Hugo processes your content, templates, and other project files and generates a static website. The resulting output is placed in the public
folder.
With GitHub Desktop, commit the changes and push them to the website repository on GitHub. Then, GitHub Actions build the website and deploy it to GitHub Pages.
Despite the modifications to the PaperMod theme, the website continues to perform well on mobile and desktop devices. Here is an overview of the mobile performance from PageSpeed Insights:
And here is an overview of the desktop performance:
Here are the full report on mobile performance and the full report on desktop performance.
The content of this repository is licensed under the terms of the MIT License.
Thank you to Joel Sleeba for sharing code to center the homepage properly.
- Pascal Michaillat's website (source code)
- Samia Kabir's website (source code)
- Dylan Balla-Elliott's website (source code)
- Maarten Goos's website (source code)
- Abdalgader Abubaker's website (source code)
- Aryan Ahadinia's website (source code)
- William Overman's website (source code)
- Jun Wong's website (source code)
- Erling Rennemo Jellum's website (source code)
- Yangkeun Yun's website (source code)
- Maghfira Ramadhani's website (source code)
- Qiwei He's website
- Billy Ram's website