(Image is of hello-friend-ng and may not be 100% accurate. See https://abyss.dev for most accurate appearance.)
This theme is a modified version of hello-friend-ng by Djordje Atlialp. Check it out, maybe it will work better for your purposes. If you really like this theme, buy him a coffee.
You can see an example of this theme in use at https://abyss.dev.
- Theming: dark/light mode, depending on your system preferences or the users choice
- 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
- Audio support for posts (thanks to @talbotp)
- Support for social icons
- Support for sharing buttons
- Support for Commento
- Return of the ability to set a default theme for the website that overrides the OS preferences
- Posts use Date instead of Datetime
- CanonicalURL can be overriden to a different domain
- Logo text can be dynamic and change per page
- Minor cosmetic changes in the 404 page
- Possibly other undocumented changes (sorry!), see the commit log
You can download the theme manually by going to https://github.com/abyss/hugo-theme-hello-abyss and pasting it to themes/hello-abyss
in your root directory.
You can also clone it directly to your Hugo folder:
$ git clone https://github.com/abyss/hugo-theme-hello-abyss.git themes/hello-abyss
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/abyss/hugo-theme-hello-abyss.git themes/hello-abyss
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-abyss"
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
# 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 Abyss"
subtitle = "A simple theme for Hugo"
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.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"
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;" >}}
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 ```
Check the docs.
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
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. :)
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"
Just edit it. You don't need any node stuff. ;)
If you like my work and if you think this project is worth to support it, just
The theme is released under the MIT License. Check the license for additional information.
Copyright © 2021 Craig Reeder
Portions of this software are copyright of their respective authors and released under the MIT license:
Copyright © 2018 Track3
Copyright © 2019 panr
Copyright © 2019-2021 Djordje Atlialp