Getting Started with a Clean, Minimal Hugo Site

After nearly 4 years of using Jekyll to serve up various projects, I decided to give Hugo a try. I have been tinkering for a month and decided now is the time to blow up my old Jekyll personal homepage and start again with Hugo. This current iteration of the site is a stripped-down Hugo site to serve more or less as a project blog while I build the actual template I intend to use in future. But here are some quick reasons why, after a month, I decided to switch from Jekyll to Hugo:

  1. Faster Test Speeds
  2. Shortcodes
  3. Internal Templates
  4. Better data management
  5. Written in Go

But mostly, it’s just a better overall experience after a month of tinkering around with serving sites locally with Hugo.

For the sake of leaving bread crumbs as I construct this minimal Hugo site, I’ll leave some posts, mostly for my own reference but also perhaps for some other DH people looking to move away from Jekyll. Here is the initial build list…without going into the installation of Hugo, choice of text editor, etc. as those processes are not of interest at present:

  1. Open terminal
  2. hugo new site SiteName
  3. Create First Post
    • hugo new posts/first-post.md
    • Edit title:
    • Compose everything up to here.
  4. Edit config.toml
    • Change baseURL to match personal site

    • Add taxonomies for posts

        [taxonomies]
        category = "categories"
        tag = "tags"
        language = "languages"
        scribe = "scribes"
        author = "authors"
        genre = "genres"
        location = "locations"
      
    • Add description = "MyDescription"

    • Add Analytics

  5. Edit archetypes/default.md to match extended taxonomies
    • Its front matter should now look like this:
      ---
      title: "{{ replace .Name "-" " " | title }}"
      date: {{ .Date }}
      draft: true
      category:
      tag:
      language:
      scribe:
      author:
      genre:
      location:
      ---
      
  6. Edit layouts folder
  7. Add index.html
  8. Add _default folder 1. Add baseof.html 2. Add list.html 3. Add single.html
  9. Add partials folder 1. Add head.html
    1. Include favicon info
    2. Add favicon files to root
    3. Call Bootstrap from CDN
    4. Call custom CSS for indexing. 2. Add header.html 3. Add footer.html 4. Add tags.html
  10. Create posts/desiderata.md to generate a running draft post with a list of future things to add to Hugo theme.
  11. Add static/css/main.css
  12. Fill with custom css for displaying post list