This theme was highly inspired by the hello-friend and hermit. A lot of kudos for theier great work.
- Theming: dark/light mode, depending on your preferences (dark is default, but you can change it)
- Great reading experience thanks to Inter UI font, made by Rasmus Andersson
- Nice code highlighting thanks to PrismJS
- An easy way to modify the theme with Hugo tooling
- Fully responsive
- Support for social icons
You can download the theme manually by going to https://github.com/rhazdon/hugo-theme-hello-friend-ng.git and pasting it to themes/hello-friend-ng
in your root directory.
You can also clone it directly to your Hugo folder:
$ git clone https://github.com/rhazdon/hugo-theme-hello-friend-ng.git themes/hello-friend-ng
If you don't want to make any radical changes, it's the best option, because you can get new updates when they are available. To do so, include it as a git submodule:
$ git submodule add https://github.com/rhazdon/hugo-theme-hello-friend-ng.git themes/hello-friend-ng
The theme doesn't require any advanced configuration. Just copy the following config file.
Note: There are more options to configure. Take a look into the config.toml
in exampleSite
.
baseurl = "/"
languageCode = "en-us"
theme = "hello-friend-ng"
[params]
dateform = "Jan 2, 2006"
dateformShort = "Jan 2"
dateformNum = "2006-01-02"
dateformNumTime = "2006-01-02 15:04 -0700"
# Set disableReadOtherPosts to true in order to hide the links to other posts.
disableReadOtherPosts = false
# Metadata mostly used in document's head
description = "My new homepage or blog"
keywords = "homepage, blog"
images = [""]
# Directory name of your blog content (default is `content/posts`)
contentTypeName = "posts"
# Default theme "light" or "dark"
defaultTheme = "dark"
[languages]
[languages.en]
title = "Hello Friend NG"
subtitle = "A simple theme for Hugo"
keywords = ""
copyright = ""
readOtherPosts = "Read other posts"
[languages.en.params.logo]
logoText = "hello friend ng"
logoHomeLink = "/"
# or
#
# path = "/img/your-example-logo.svg"
# alt = "Your example logo alt text"
# And you can even create generic menu
[[menu.main]]
identifier = "blog"
name = "Blog"
url = "/posts"
From your Hugo root directory run:
$ hugo server -t hello-friend-ng
and go to localhost:1313
in your browser. From now on all the changes you make will go live, so you don't need to refresh your browser every single time.
Of course you are able to use all default shortcodes from hugo (https://gohugo.io/content-management/shortcodes/).
Properties:
src
(required)alt
(optional)position
(optional, default:left
, options: [left
,center
,right
])style
Example:
{{< image src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" >}}
Supported languages: Take a look here
By default the theme is using PrismJS to color your code syntax. All you need to do is to wrap you code like this:
``` html // your code here ```
Use RealFaviconGenerator to generate these files, put them into your site's static folder:
- android-chrome-192x192.png
- android-chrome-512x512.png
- apple-touch-icon.png
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
- mstile-150x150.png
- safari-pinned-tab.svg
- site.webmanifest
- codechef
- codepen
- docker
- dribble
- gitbook
- github
- gitlab
- kaggle
- keybase
- mastodon
- podcasts-apple
- podcasts-google
- slack
- stackoverflow
- telegram
- twitch
- youtube
If you need another one, just open an issue or create a pull request with your wished icon. :)
There is a bug in Hugo that sometimes causes the main page not to render correctly. The reason is an empty taxonomy part. Related issue tickets: !14 !59.
Either you comment it out completely or you write the following in
[taxonomies]
tag = "tags"
category = "categories"
If you really want to edit the theme, you need to install Node dependencies. To do this, go to the theme directory (from your Hugo root directory):
$ cd themes/hello-friend-ng
and then run:
$ npm install
Copyright © 2019-2020 Djordje Atlialp
The theme is released under the MIT License. Check the original theme license for additional licensing information.