How to Make a New Hugo Academic Post

and other useful hugo notes

This post details how to add a post to a hugo-academic website. There are also some notes add the end of the post related to updating a hugo-academic website, but unrelated to making a post.

Make a new post

From root directory run:

hugo new post/my-post

This creates a directory in content/post/ titled my-post. Edit the markdown file inside this directory.

Build Site

To build the website locally, from the root directory run:


Preview Site

To preview site, from root directory run

hugo server

and then navigate to http://localhost:1313 in your browser


Push to github (which is then automatically deployed with netflfy)

From root directory,

git add -A
# etc...

Other Notes

Create directorys and files:

mkdir content/posters
touch content/posters/
mkdir layouts
mkdir layouts/posters
touch layouts/posters/list.html
mkdir data
touch data/posters.yml
mkdir static/files/posters


title: "Posters"
type: "posters"


{{ define "main" }}
  <h1 style="margin-top: 50px; margin-left: 50px;">{{ .Title }}</h1>
    {{ range .Site.Data.posters.posters }}
        <a href="{{ .url }}" target="_blank">{{ .title }}</a>
    {{ end }}
{{ end }}

Update config/default/menus.toml to include posters menu item:

  name = "Posters"
  url = "posters/"
  weight = 5

Finally, put the poster pdfs in static/files/posters/ and update data/posters.yml:

  - title: "Poster 1"
    url: "/static/files/poster1.pdf"
  - title: "Poster 2"
    url: "/static/files/poster2.pdf"

Add new directory to top bar of home page

Uncomment relevent sections of config/_default/menus.toml

Remove sharing buttons at bottom of a post

Set sharing = false in config/_default/params.toml

Update CV

Update static/files/cv/wyatt_madden_cv.tex and render.

Add widget to home page

Add widgets to home page by setting active = true in corresponding widget markdown file in content/home/

Adjust post page settings

Update content/post/ Eg. view = 1 corresponds with settings listed in content/home/