π΄ This is a fork of the original Hyde-hyde theme by @htr3n
Hyde-hyde is a Hugo's theme inspired and derived from @spf13's Hyde and Nate Finch's blog.
This repository is a fork of the original hyde-hyde theme. The original theme can be found at htr3n/hyde-hyde.
This fork aims to:
- Continue maintenance and development of the hyde-hyde theme
- Address any outstanding issues and feature requests
- Provide ongoing support for the Hugo community
- Maintain compatibility with newer Hugo versions
Currently, this fork maintains compatibility with the original theme. Any significant changes or improvements will be documented here.
- Customizable Sidebar Color: Added
sidebarColorparameter inconfig.tomlto easily customize the sidebar background color. SetsidebarColor = "#your-color"in the[params]section. - Wonderful Sidebar Animation: Added
sidebarAnimationparameter to enable a stunning multi-layered animation effect on the sidebar. SetsidebarAnimation = trueto enable.
Since version 2.0, hyde-hyde has been overhauled and, therefore, might cause some disruptions.
- The main styles are refactored and redeveloped using SCSS (see assets/scss),
poole.cssandhyde.cssare no longer needed becausehyde-hyde.scssalready incorporates relevant elements (I still keep them there for reference purpose)- Per PR [#45 by @jd4no,
hyde-hydecan use SCSSs directly in the templates instead of the generated CSSs. The generated CSSs and the generated resources are still kept inhyde-hydein order to ensure the demo on Hugo theme site working.
- Per PR [#45 by @jd4no,
- The layouts have been heavily restructured and modularised further (see layouts)
- Adding 'Portfolio' page inspired by Xiaoying Riley (@3rdwave_themes) Developer-Theme
- Switching to use system fonts instead of Web fonts (e.g. privacy issues)
- Experimenting a collapsible menu in mobile mode
- Adding Table of Contents
- Configure using
.Site.Params.tocwith two possible value: "hugo" (using Hugo{{ .TableOfContents }}, and "tocbot" (using Tocbot), remove.Site.Params.tocto disable TOC - Tocbot can be configured in layouts/partials/page-single/footer.html with options as described in its documentation
- Configure using
For more details, please refer to CHANGELOG. A real site in action can be found here and its WIP source for reference.
Hyde-hyde can be easily installed as many other Hugo themes:
$ cd HUGO_PROJECT
# clone this fork
$ git clone https://github.com/ramzus/hyde-hyde.git themes/hyde-hyde
# or add this fork as a submodule
$ git submodule add https://github.com/ramzus/hyde-hyde.git themes/hyde-hyde
# alternatively, use the original repository
$ git clone https://github.com/htr3n/hyde-hyde.git themes/hyde-hyde
# or
$ git submodule add https://github.com/htr3n/hyde-hyde.git themes/hyde-hydeAfter that, choose hyde-hyde as the main theme.
config.toml
theme = "hyde-hyde"config.yaml
theme : "hyde-hyde"That's all. You can render your site using hugo and see hyde-hyde in action.
To serve the theme for development purposes, you can use the included example site:
# From the theme root directory
$ hugo server --source exampleSite/ --themesDir ../..This command will:
- Use the
exampleSite/directory as the Hugo site source - Set the themes directory to point to the parent directories (where this theme is located)
- Start a local development server with live reload
The development server will typically be available at http://localhost:1313 and will automatically reload when you make changes to the theme files.
Hyde-hyde essentially inherits most of Hyde's options. There are some extra options though
-
highlightjs = true: use highlight.js instead of Hugo built-in support for code highlighting -
postNavigation = true|false(defaulttrue): Setting tofalsewill disable the navigation Previous Post/ Next Post -
relatedPosts = false|true(defaultfalse): Setting totrueallows related posts. Please refer here for more details on related contents with Hugo. -
GraphCommentId = "your-graphcomment-id": to use GraphComment instead of the built-in Disqus. This option should be used exclusively withdisqusShortname = "disqus-shortname". -
UtterancesRepo = "owner/repo-name": to use Utterances instead of the built-in Disqus. This option should be used exclusively withdisqusShortname = "disqus-shortname".UtterancesIssueTerm = "pathname"Method for Utterances to match issue's to posts (pathname, url, title, og:title)UtterancesTheme = "github-light"Theme for Utterances (github-light, github-dark)
-
Commento = true: to use Commento instead of the built-in Disqus. This option should be used exclusively withdisqusShortname = "disqus-shortname".CommentoHost = "your-commento-instance"Self-hosted Commento instance. This is not required if you're a Commento.io user.
-
[params.social]: in this section, you can set many social identities such as Twitter, Facebook, Github, Bitbucket, Gitlab, Instagram, LinkedIn, StackOverflow, Medium, Xing, Keybase.[params.social] twitter = "htr3n" keybase = "htr3n" github = "htr3n" ...
-
sidebarColor = "#300030": Setting a custom color for the sidebar background. Any valid CSS color value can be used (hex, rgb, hsl, color names, etc.).[params] sidebarColor = "#2c3e50" # Dark blue-gray # or sidebarColor = "rgb(44, 62, 80)" # or sidebarColor = "darkslateblue"
-
sidebarAnimation = true|false(defaultfalse): Enable a wonderful multi-layered animation effect on the sidebar background.[params] sidebarAnimation = true # Enable wonderful sidebar animation
-
include_toc = false: Setting tofalsein FrontMatter will disable too short TOC data as your want. -
Per PR #56, Gravatar pics can be used exclusively to
.Site.Params.authorimagevia the parameter.Site.Params.social.gravatar-
[params.social] gravatar = "your.email@domain.com"
-
- Most of the customisable SCSS styles in assets/scss/hyde-hyde and Hugo templates in hyde-hyde/layouts are modularised and can be altered/adapted easily.
You can customize the sidebar color by setting the sidebarColor parameter in your config.toml:
[params]
sidebarColor = "#2c3e50" # Dark blue-grayAny valid CSS color value is supported:
[params]
sidebarColor = "#ff6b6b" # Hex color
# or
sidebarColor = "rgb(255, 107, 107)" # RGB color
# or
sidebarColor = "darkslateblue" # Color nameYou can enable a stunning multi-layered animation on the sidebar:
[params]
sidebarAnimation = true # Enable wonderful sidebar animation
sidebarColor = "#001f3f" # Works amazingly with any colorThis animation creates a wonderful visual experience with multiple layers:
- π Shifting Gradients: Smooth color transitions that flow across the sidebar
- β¨ Floating Particles: Delicate light points that gently float and rotate
- π¨ Dual-layered Depth: Two independent animation layers create rich visual depth
The combined effect is elegant yet professional, creating a sidebar that feels alive and dynamic while maintaining readability and sophistication. This animation works beautifully with any sidebar color and adds a premium, modern feel to your site.
Since version 2.0+, I added a portfolio page just in case. If you need it, simply add a menu section 'Portfolio' in config.toml as following.
[[menu.main]]
name = "Portfolio"
identifier = "portfolio"
weight = xyz
url = "/portfolio/"In the folder content , create a subfolder portfolio and use the following folder/content structure as reference.
$ tree portfolio
portfolio
βββ _index.md
βββ p1.md
βββ p1.png
βββ p2.md
βββ p2.png
...
βββ pn.md
βββ pn.png
As I design the section portfolio to be rendered as list, _index.md can be used to set the title for your portfolio (you can read more about _index.md here). For instance, when I want to set the title of my portfolio "Projects", the front matter of _index.md will be:
---
title: 'Projects'
---The remaining of _index.md will be ignored.
For each project, just create a Markdown file with the following parameters in the front matter:
---
title: "Project P1's Title"
description: "A short description"
date: '2018-01-02'
link: 'https://project-p1.com'
screenshot: 'p1.png'
layout: 'portfolio'
featured: true
---
Here is a longer summary of the project. You can write as long as you wish.Note:
dateis important to sort the project chronologicallylayout 'portfolio'is important as you don't want your project's page appear in the list of posts in the main page of your Web site but only in the Portfolio ;)featured: true: when you want to show a project as featured project. It is default tofalse. Note that only one project should be markedfeatured: true, otherwise, the result could be random as the Hugo template will take the first one.- The body of the Markdown file will be the summary of the project.
If you want to adjust the portfolio page to your needs, please have a look at the main template, that uses this partial template and this SCSS style.
By default hugo will show in your home page the most populated section.
This means that if you have more projects than posts, by default your home page will list your projects instead of your posts.
If you want to change this behaviour you can change the mainsections.
For example, for the exampleSite this is how you should change the config.toml file:
[params]
mainSections = ["posts"]
Contributions to this fork are welcome! Please feel free to:
- Report issues
- Submit pull requests
- Suggest improvements
- Help with documentation
For issues related to the original theme design or architecture, you may also want to check the original repository for context.
- Original Hyde theme developed by Mark Otto
- Hugo's
hydeport by Steve Francia - Hyde-hyde theme developed by @htr3n - Original Repository
- This fork maintained by @ramzus
This is a fork of the original hyde-hyde theme. For the original work, issues, and discussions, please visit:
- Original Repository: htr3n/hyde-hyde
- Original Author: @htr3n
Open sourced under the MIT license



