(Somewhat extended) pretty basic theme for Hugo that covers all of the essentials, now with Cusdis integration. All you have to do is start typing! https://github.com/rhazdon/hugo-theme-hello-friend-ng/
  • HTML 69.4%
  • SCSS 28.1%
  • JavaScript 2.5%
Find a file
2026-01-16 18:08:08 +01:00
archetypes The graat customizing ... 2019-01-27 23:02:55 +01:00
assets revert custom color changes 2026-01-16 18:06:43 +01:00
data Added support for Danish i18n 2023-11-08 22:22:17 +01:00
docs Add buymeacoffee to docs 2025-11-18 14:51:23 +01:00
exampleSite Remove unused param 2025-11-18 12:38:15 +01:00
i18n Merge pull request #442 from stdevel/bug-posts_buttons_translation-441 2023-11-22 23:21:02 +01:00
images update README 2026-01-16 18:06:47 +01:00
layouts initial commit 2026-01-16 17:12:22 +01:00
static initial commit 2026-01-16 17:12:22 +01:00
.eslintrc.yml New Version - 1.0.1 — Set dark theme as default & fix eslint 2018-08-24 09:37:55 +02:00
.gitignore ADD layouts/partials/extra-head.html to .gitignore 2021-08-27 10:53:17 -05:00
CONTRIBUTING.md Add CONTRIBUTING.md 2020-02-11 18:12:12 +01:00
LICENSE.md Update LICENSE.md 2019-07-24 10:42:44 +02:00
README.md added separate Screenshots section to README 2026-01-16 18:08:08 +01:00
theme.toml Update theme.toml 2019-02-22 16:11:42 +01:00

Hello Friend NG Extended

Hello Friend NG Extended

Fork of rhazdon/hello-friend-ng with some small style changes and additions:

  • Menu items, page titles, dates etc. all forced to lowercase.
  • Changed date format in post view to use dateFormatLong
  • Added out of the box Cusdis (comment system) integration
  • Changed old twitter icon in post socials to the new X icon

To enable Cusdis as your comment system, just specify your App ID in your configuration .toml file as follows:

[params]
  [params.cusdis]
    appId = "<your-app-id>"

Screenshots

Hello Friend NG Extended Posts

Hello Friend NG Extended Post with Cusdis

Original README below

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"
pagination.pagerSize     = 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"

  # and submenus
  [[menu.main]]
    identifier  = "parent"
    name        = "Parent"
    url         = "/parent"
    hasChildren = true

  [[menu.main]]
    identifier  = "child"
    name        = "Child"
    url         = "/parent/child"
    parent      = "parent"

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 taxonomy part with empty entries. Related issue tickets: !14 !59.

Either you comment it out completely or you write the following in

[taxonomies]
  tag      = "tags"
  category = "categories"

In case you'd like to actually have an empty taxonomy, you can do so by specifying the following (i.e. without adding any entries to the taxonomy part):

[taxonomies]

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-2025 Djordje Atlialp

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