There are many Problem with cms some due to security others dues to infrastructure dependency, database or running a server Allows us to separate layout from content.
Produces HTML which is easy to host and share.
A static site is one that does not change once the content is set.
- plain old html site
A dynamic is one that is generated every time you load it.
Written in go, so runs on anything
Uses markdown and yaml to store setting and contents
Hugo is already installed on pygmalion, so everyone just needs to SSH there to use it
To generate your first site you can type the command:
Jump into your new site and have a look around at the files
Open up the
config.yaml file to change the configuration of your website
Edit the content/index.md with what ever you want to say
To get started you will want to add your own pictures for your avatar, banner and about photos. To change these you will need to add these to your
- Change the baseURL
baseURL: "http://www.redbrick.dcu.ie/~username/"to inclue your username
title: A Redbrick users siteto the title of your main page
- You can also add your social media links in here after
- This will generate a new page with some metadata all ready in it Take a look at this new file with1$ nano content/about.md
To build your site we type the command
This will output all the code into the
Note: Hugo can be weird if you don’t delete your public before you generate every time
Warning: rm -rf is sometimes dangerous. Don’t run in sudo unless you know what you are doing
This will perminantly delete the public folder
You can also achieve the same thing by running
If you wanna look at your site before you go and deploy it (recommended)
This will generate a site on localhost:1313
Don’t use high-res
scale them down and compress them
- thumbnails 200px
- banners 800px
(These are rough estimates every page is different) Compression removes details but makes them smaller
Minification removes white spaces reducing the size of the file allowing you to load your site faster. You can minify html, css, or js.
Tools for minification:
hugo can be used for a blog. You’ll need a theme that supports blog posts. Just run
hugo new post/my-post-name.md