Intro
We’ll be using yml/yaml
format for all examples down below, I recommend using yml
over toml
as it is easier to read.
Override theme template
By Hugo’s Lookup Order, you can override any part of a theme that you want. The following is a quick example.
Let’s say you wish the list
was different. All you have to do is copy the list
template:
your-site/themes/papermod/layouts/_defaults/list.html
And paste it under your own layouts
folder:
your-site/layouts/_defaults/list.html
Then you’re free to make any changes you want to the list
.
When Hugo builds your site, your copy of list.html
will be used instead of the theme’s list.html
.
Enable Social-Metadata and SEO
These include OpenGraph, Twitter Cards and Schema.
params:
env: production
or set HUGO_ENV
as “production” in system env-vars
Archive Page
.
├── config.yml
├── content/
│ ├── archives.md <--- Create archive.md here
│ └── posts/
├── static/
└── themes/
└── hugo-PaperMod/
and add the following to it
---
title: "Archive"
layout: "archives"
url: "/archives/"
summary: archives
---
Custom Head / Footer
Custom css/js can be added by way mentioned below.
.(site root)
├── config.yml
├── content/
├── theme/hugo-PaperMod/
└── layouts
├── partials
│ ├── comments.html
│ ├── extend_footer.html <---
│ └── extend_head.html <---
└── robots.txt
Create a html page in directory structure as shown above.
Contents of extend_head.html
will be added to head
of page.
and contents of extend_footer.html
will be added to bottom of page.
Pin a Post
Post can be pinned/ displayed top on the list by adding a weight=<num>
var to page-variables
example:
---
title: "My Important post"
date: 2020-09-15T11:30:03+00:00
weight: 1
---
---
title: "My 2nd Important post"
date: 2020-09-15T11:30:03+00:00
weight: 2
---