Single-page structure: the homepage consists of multiple Markdown sections, with navigation scrolling within the single page
hugo-scroll — Hugo Starter Template
By zjedi
hugo-scroll is a clean, responsive single-page website theme built on Hugo, released under the MIT license and suited to personal or project sites that organize content as scrolling sections on the homepage.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Responsive layout that adapts to screen size and shape
Built-in Font Awesome icon set, callable in Markdown via the icon shortcode
Supports video cover and header logo configuration
Provides the extlink shortcode to generate external links that open in a new tab, optionally with an icon
Styles can be customized via custom_head.html or by overriding SCSS variables
Template Details
hugo-scroll is a single-page website theme for Hugo. Page content is arranged vertically as homepage sections, with navigation that scrolls within the single page. The theme emphasizes a responsive layout that adapts to screen size and shape; it also provides SEO-related support, a customizable style entry point, and display options such as video covers and a header logo.
For content organization, the homepage consists of multiple Markdown sections. You can add a homepage block with hugo new homepage/my-new-content.md, or create a page separate from the homepage with hugo new my-new-page.md. Menus support external links, and in body content the extlink shortcode can generate links that open in a new tab, optionally with an icon.
The theme includes the Font Awesome icon set, invoked in Markdown via the icon shortcode; brand icons require brand=true. Contact lists can specify icons in hugo.toml using full class names. The footer can optionally show version information from Hugo GitInfo, which requires enabling enableGitInfo in the configuration. Style overrides can be applied by embedding <style> in layouts/partials/custom_head.html or by including custom CSS, and by overriding the CSS variables in assets/css/variables.scss.
Before use, you need to install Hugo Extended and the Dart Sass executable and place it on the system PATH, because Hugo has deprecated LibSass. The theme repository provides an exampleSite for local viewing, and its contents can also be copied into your own site as a starting point; the example image captions in the repository may be out of date. Third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses; the MIT license for the code does not cover these assets.
Is it right for your project?
Use Cases
- A personal homepage or portfolio that organizes introduction, projects, and contact information as scrolling homepage sections
- A single-page introduction site for an open-source project or product, using a video cover and logo for the hero display
- An event or brand page that needs external links and icon entry points
- Quickly building a clean single-page landing page within a Hugo site
Suitable For
- Hugo users who have installed Hugo Extended and Dart Sass
- Site authors who want to maintain single-page content using Markdown sections
- Projects that need a responsive single-page theme and accept the terms of the MIT license
- Developers willing to adjust styles via SCSS variables or a custom head file
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Install Hugo Extended and the Dart Sass executable, and ensure Dart Sass is on the system PATH
- 2
Add the theme with git submodule add https://github.com/zjedi/hugo-scroll.git themes/hugo-scroll, then adjust hugo.toml as commented
- 3
To view the example site locally: clone the repository and run hugo server --source=exampleSite --themesDir=../..
- 4
Create a new homepage section with hugo new homepage/my-new-content.md, and a new standalone page with hugo new my-new-page.md
- 5
Footer version information requires setting enableGitInfo = true in hugo.toml
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercially use, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Before use, you must install Hugo Extended v0.165.0 or later and place the Dart Sass executable on the system PATH; otherwise the theme styles cannot be built.
- NPM is only used to manage Prettier formatting dependencies; aside from code formatting it is not required and does not affect normal use of the theme.
- Stock photos in the example site come from Pexels and must be checked separately under Pexels' own license; the MIT code license does not cover these image assets.
- When using Font Awesome brand icons, brand=true is required; such icons carry trademark notices, and you should verify trademark and icon licensing requirements yourself before commercial use.
- Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
You need to install **Hugo Extended v0.165.0+** and the **[Dart Sass](https://github.com/sass/dart-sass)** executable in your system `$PATH`
Original README
NPM is only used to manage the Prettier dependencies, apart from formatting, NPM is not required at all to be available.
Original README
[Pexels](https://www.pexels.com), for supplying _free_ stock photos.
Original README
https://github.com/zjedi/hugo-scroll/blob/master/LICENSEhttps://github.com/zjedi/hugo-scroll/blob/master/README.mdIf you want to use one of Font Awesome's brand icons—the ones that have a trademark warning and the `fa-brands` class—add `brand=true`.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 91 / 100
- Technologies
- Hugo
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-28
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Hugo as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 77a3774f9373f5a9530a26a2f7d9657cb679070bd256bd003f2b4b23c5695bad
2026-10-02T08:01:03.599Z
Source file / repository<h1 align=center>Hugo Scroll 📜 <a href="https://zjedi.github.io/hugo-scroll/" rel="nofollow">Demo</a></h1>
Clean, responsive, single-page [Hugo](https://gohugo.io/) website theme.
[](https://themes.gohugo.io/themes/hugo-scroll/)

[](https://app.netlify.com/sites/hugo-scroll/deploys)
[](https://github.com/zjedi/hugo-scroll/blob/master/LICENSE)

Promo image which may be a bit outdated:<br/>

## ⭐ Feature highlights
- Responsive to screen size/shape
- SEO friendly
- Customizable
- Video cover
- [Font Awesome v6.6.0 Icons][font-awesome-icons] out of the box
- Header logo
- Visual guards to guarantee readability
- External links
- JS/CSS Assets optimized (Minification, Fingerprinting, pipeline-processed
into single file)
- git info in footer (opt-in)
## 🔑 Installation
You need to install **Hugo Extended v0.165.0+** and the **[Dart Sass](https://github.com/sass/dart-sass)** executable in your system `$PATH` (since Hugo deprecated LibSass).
If you already have a Hugo site on your machine, you can simply add this theme via
```cli
git submodule add https://github.com/zjedi/hugo-scroll.git themes/hugo-scroll
```
Then, adjust the `hugo.toml` as detailed below & in the file comments.
### Playing around with our example site
If you simply want to check out the `exampleSite`, you can run
```cli
git clone https://github.com/zjedi/hugo-scroll.git hugo-scroll
cd hugo-scroll
hugo server --source=exampleSite --themesDir=../..
```
For more information, read the official [Hugo setup guide][hugo-setup-guide].
If you are starting fresh, simply copy over the contents of the `exampleSite`-directory included in this theme to your source directory. That should give you a good idea about how things work, and then you can go on from there to make the site your own.
Please check out the [hugo.toml](https://github.com/zjedi/hugo-scroll/blob/master/exampleSite/hugo.toml) included in the [exampleSite](https://github.com/zjedi/hugo-scroll/tree/master/exampleSite) of this theme.
You can add **a new section to the homepage** by running `hugo new homepage/my-new-content.md` (or craft the file manually)
To create **a page separate from the homepage**, run `hugo new my-new-page.md`
## 🔧 Feature details 🔨
### Customizing CSS
Add a [`custom_head.html`](https://github.com/zjedi/hugo-scroll/blob/master/exampleSite/layouts/partials/custom_head.html) file to your `layouts/partials` directory.
- You can use `<style>` tag to embed the overrides (better performance-wise)
- Alternatively you can `<link>` your own `custom.css`
`CSS` variables `var(--some-var-name)` from `assets\css\variables.scss` can be overridden by adding
```scss
:root {
--some-var-name: blue!important;
}
```
### Icons
This theme includes the full set of [Font Awesome v6.6.0 icons][font-awesome-icons]. Use the `{{< icon >}}` [shortcode][hugo-shortcodes] with the respective `name` to use an icon directly in your `.md` files. For example:
```html
{{< icon name="envelope" >}}
```
If you want to use one of Font Awesome's brand icons—the ones that have a trademark warning and the `fa-brands` class—add `brand=true`. For example:
```html
{{< icon name="github" brand=true >}}
```
If you want to use these branded icons in your contact list, use the full class names in your `hugo.toml`:
```toml
[[params.contacts]]
label = "GitHub"
value = "github.com/zjedi/hugo-scroll"
url = "https://github.com/zjedi/hugo-scroll"
icon = "fa-brands fa-github"
```
### Header logo
Configured in `_index.md`, see `exampleSite`: `header_logo: "images/chef-hat.png"`
### Video cover
Set `header_use_video: true` in `/exampleSite/content/_index.md` and define video source via custom partial, such as `exampleSite/layouts/partials/custom_header_video.html`.
### Footer version information
In order to see technical version information (extracted from Hugo's [GitInfo](https://gohugo.io/variables/git/))) set the following general option in your hugo.toml: `enableGitInfo = true`
### External links
You can add an external link in the menu, see `external.md` in the `exampleSite`.
You can also use `extlink` shortcode to create a link opening in a new tab:
```markdown
Visit us at {{<extlink text="Instagram" href="https://www.instagram.com/yourInstagramName/">}}
```
Referencing and showing icons in front of the link text is possible with a new parameter `icon`:
```markdown
Visit us at {{<extlink icon="fa fa-instagram" text="Instagram" href="https://www.instagram.com/yourInstagramName/">}}
```
## 🐛 Issues / 💡 Feedback / 👑 Contributing
[Discussion](https://github.com/zjedi/hugo-scroll/discussions) for Q&A (when unsure),
[Issues](https://github.com/zjedi/hugo-scroll/issues) for tracking,
[Pull Requests](https://github.com/zjedi/hugo-scroll/pulls) for contributions.
See [contributing guideline](https://github.com/zjedi/hugo-scroll/blob/master/contributing.md) for more.
### Code Style / Formatting
This project uses [Prettier](https://prettier.io/) as a baseline for code formatting. NPM is only used to manage the Prettier dependencies, apart from formatting, NPM is not required at all to be available.
## 👏 Special Thanks
- [Jan Raasch](https://www.janraasch.com), original author of theme
- [Yonatan Wolowelsky](https://github.com/grmmph), author of [GhostScroll](https://github.com/grmmph/GhostScroll) theme, which formed the basis of this [Hugo](https://gohugo.io/) theme.
- [Pexels](https://www.pexels.com), for supplying _free_ stock photos.
[hugo-setup-guide]: https://gohugo.io/getting-started/installing
[font-awesome-icons]: https://fontawesome.com/icons
[hugo-shortcodes]: https://gohugo.io/content-management/shortcodes/
Explore similar templates
Compare previews and descriptions within the same stack and category.

hugo-xmin
hugo-xmin is an extremely minimal Hugo theme written by Yihui Xie for template beginners. HTML and CSS total about 140 lines, with no external dependencies, and it uses the MIT license.
Hugo · Starter

hugo-theme-gallery
A Hugo Extended photo gallery theme that organizes images with Page Bundles, automatically generating album lists and gallery pages with a Justified layout and PhotoSwipe lightbox.
Hugo · Starter

reveal-hugo
reveal-hugo is a Hugo theme that converts Markdown content into Reveal.js-based HTML presentations. It supports slide separation with `---`, shortcodes for fragments, slides, sections, notes, Markdown, and MathJax, and organizes content as root or section presentations with order controlled by weight.
Hugo · Starter

anatole
Anatole is a minimalistic two-column Hugo theme ported from farbox-theme-Anatole, featuring dark mode, multilingual and RTL support, and optional portfolio, comments, analytics, KaTeX, and Mermaid integrations. It suits personal blogs, portfolios, or documentation sites built with Hugo.
Hugo · Starter

hugo-theme-diary
A Hugo diary-style theme ported from the Hexo theme Journal, with a grid homepage for essays and daily notes. It supports six languages, dark mode, table-of-contents scroll positioning, reading time, code highlighting, and configurable sidebar, fonts, and colors.
Hugo · Starter

risotto
risotto is a minimalist, responsive Hugo theme inspired by terminal ricing aesthetics. It uses semantic HTML and pure CSS with no JavaScript, and its layout relies on CSS Grid for native responsiveness without manual breakpoints.
Hugo · Starter
