/hugo-theme-hello-friend-ng

Pretty basic theme for Hugo that covers all of the essentials. All you have to do is start typing!

Primary LanguageHTMLOtherNOASSERTION

Hello Friend NG

Hello Friend NG

General informations

This theme was highly inspired by the hello-friend and hermit. A lot of kudos for their great work.


Table of Contents


Features

  • Theming: dark/light mode, depending on your system preferences or the users choice
  • Great reading experience thanks to Inter 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 audio in posts (thanks to @talbotp)
  • Builtin (enableable/disableable) multilanguage menu
  • Support for social icons
  • Support for sharing buttons
  • Support for Commento
  • Support for Plausible (thanks to @Joffcom)
  • Support for utterances comment system

How to start

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

How to configure

The theme doesn't require any advanced configuration. Just copy the following config file. To see all possible configurations, check the docs. Note: There are more options to configure. Take a look into the config.toml in exampleSite.

baseurl      = "localhost"
title        = "My Blog"
languageCode = "en-us"
theme        = "hello-friend-ng"
paginate     = 10

[params]
  dateform        = "Jan 2, 2006"
  dateformShort   = "Jan 2"
  dateformNum     = "2006-01-02"
  dateformNumTime = "2006-01-02 15:04"

  # Subtitle for home
  homeSubtitle = "A simple and beautiful blog"

  # Set disableReadOtherPosts to true in order to hide the links to other posts.
  disableReadOtherPosts = false

  # Enable sharing buttons, if you like
  enableSharingButtons = true
  
  # Show a global language switcher in the navigation bar
  enableGlobalLanguageMenu = true

  # Metadata mostly used in document's head
  description = "My new homepage or blog"
  keywords = "homepage, blog"
  images = [""]

[taxonomies]
    category = "blog"
    tag      = "tags"
    series   = "series"

[languages]
  [languages.en]
    title = "Hello Friend NG"
    keywords = ""
    copyright = '<a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0</a>'
    readOtherPosts = "Read other posts"

  [languages.en.params]
    subtitle  = "A simple theme for Hugo"

    [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"

More things

Built-in shortcodes

Of course you are able to use all default shortcodes from hugo (https://gohugo.io/content-management/shortcodes/).

image

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;" >}}

Code highlighting

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
```

Favicon

Check the docs.

Audio Support

You wrote an article and recorded it? Or do you have a special music that you would like to put on a certain article? Then you can do this now without further ado.

In your article add to your front matters part:

audio: path/to/file.mp3

Social Icons:

A large variety of social icons are available and can be configured like this:

[[params.social]]
  name = "<site>"
  url = "<profile_URL>"

Take a look into this list of available icon options.

If you need another one, just open an issue or create a pull request with your wished icon. :)

Known issues

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"

How to edit the theme

Just edit it. You don't need any node stuff. ;)

Sponsoring

If you like my work and if you think this project is worth to support it, just
Buy Me A Coffee

Licence

Copyright © 2019-2021 Djordje Atlialp

The theme is released under the MIT License. Check the original theme license for additional licensing information.