Text-centric minimal portfolio and blog layout
lekh — Hugo Portfolio Template
By ba11b0y
lekh is a minimal Hugo-based personal portfolio theme focused on text content, offering dark mode, social links, RSS, and GoatCounter analytics.
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.
Built-in dark mode, taken from gwern.net
Configure name, bio, email, and resume filename via params in config.toml
Supports multiple social profile links, which can be added individually in the configuration
Built-in RSS output, and GoatCounter analytics can be enabled via GoatCounterCode
Content is written in Markdown, and the number of homepage posts is controlled by PostLimit
Template Details
lekh is a Hugo theme for personal portfolios and blogs, emphasizing text content and minimal typography. The code is adapted from Vegard's personal site, and the dark mode is taken from gwern.net. The theme configures name, bio, email, resume filename, number of posts shown on the homepage, and multiple social profile links (such as GitHub, Twitter, Goodreads, LinkedIn) via params in config.toml. Content is written in Markdown, and posts can be created with hugo new posts/...; the number of homepage posts is controlled by PostLimit. RSS output is built in, and GoatCounter analytics can be enabled by filling in GoatCounterCode. The theme repository uses the MIT license and can be used, modified, and distributed for free, but third-party assets such as demo images, fonts, and icons require separate license verification; external services like GoatCounter may also have their own pricing terms. The repository was last updated in 2023, and the README does not describe additional features or maintenance status.
Is it right for your project?
Use Cases
- Building a personal portfolio page focused on text introductions
- Maintaining a lightweight personal blog with RSS output
- Personal sites that need dark reading mode and basic analytics
- Managing content with Hugo and Markdown, and adjusting site information centrally through a configuration file
Suitable For
- Personal site authors who prefer minimal text typography and do not need complex visual components
- Developers who use Hugo and are familiar with config.toml configuration
- Users who need a combined portfolio and blog and want to integrate GoatCounter analytics
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Install Hugo first, then run hugo new site <site_name> to create a site
- 2
In the site directory, add lekh to themes/lekh via git submodule, and set theme = "lekh" in config.toml
- 3
Copy themes/lekh/exampleSite/config.toml to the site root, and modify the personal information and social links in params as needed
- 4
Create posts with hugo new posts/title-of-post.md; hugo server -D previews drafts, while hugo server shows only published content
- 5
When GoatCounterCode is left empty, analytics is not enabled; to enable analytics, register with GoatCounter and fill in the corresponding code
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 applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed 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
- GoatCounter is an external analytics service; you must register and obtain a code to fill in GoatCounterCode. The service may have its own pricing or usage terms, and the theme itself does not provide an analytics backend.
- The dark mode styles are taken directly from gwern.net; the license for that material must be verified separately and is not granted along with the theme's MIT license.
- The theme is adapted from Vegard's personal site; if you reuse its original assets or code, you must verify the upstream license and attribution requirements yourself.
- 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
GoatCounter counts(analytics). Know more about GoatCounter [here](https://goatcounter.com)
Original README
Dark mode (taken from https://www.gwern.net/ as it is.)
Original README
https://github.com/ba11b0y/lekh/blob/master/LICENSE.mdhttps://github.com/ba11b0y/lekh/blob/master/README.mdSimple, text-focussed and minimal personal portfolio theme based on https://github.com/vegarsti/vegarsti.github.io
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. 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 · 77 / 100
- Technologies
- Hugo
- Website type
- Portfolio · Blog
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
- 2023-05-06
- Screenshot last checked
- 2026-10-01
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: 78bad74bf6e810ccd37d73525851b1f0748ce63414bf1099aef0548373aea852
2026-10-01T00:52:57.269Z
Source file / repository# Lekh Simple, text-focussed and minimal personal portfolio theme based on https://github.com/vegarsti/vegarsti.github.io ## Screenshot ([Live Demo](https://agitated-yonath-d9c445.netlify.com/))  ## Features * Social media links * Markdown supported * Easy to personalize * RSS feed * Dark mode (taken from https://www.gwern.net/ as it is.) * GoatCounter counts(analytics). Know more about GoatCounter [here](https://goatcounter.com) ## Installation ### Installing Hugo ```sh # For Linux sudo apt-get install hugo # For Mac brew install hugo # Detailed instructions at https://gohugo.io/getting-started/installing#readout ``` ### Creating a new site ```sh hugo new site <site_name> ``` ### Adding lekh as a theme ```sh cd <site_name> git init git submodule add https://github.com/ba11b0y/lekh.git themes/lekh echo theme = \"lekh\" >> config.toml ``` Here's Hugo's [official guide](https://gohugo.io/getting-started/quick-start/) for more details. ## Personalization Hugo looks for a `config.toml` in the root of your site. To personalize the theme, copy the default config shipped with the theme `cp themes/lekh/exampleSite/config.toml config.toml` And then customize accordingly. Or simply copy the below config and customize accordingly. ```toml baseURL = "https://example.com/" languageCode = "en-us" title = "Example Lekh Site" theme = "lekh" [params] Name = "Agent Smith" About = "We're not here because we're free. We're here because we're __not__ free. There's no escaping reason. No denying purpose. Because as we both know without purpose, we would not exist.<br/> Read more [here](https://matrix.fandom.com/wiki/Agent_Smith)" Email = "[email protected]" Resume = "" # Add the filename with file extension. PostLimit = 4 # Sets the number of posts to display on the front page GoatCounterCode = "" [[params.profiles]] name = "GitHub" url = "https://github.com/ba11b0y" [[params.profiles]] name = "Twitter" url = "https://twitter.com/ba11b0y" [[params.profiles]] name = "Goodreads" url = "https://www.goodreads.com/user/show/91520565-rahul-tiwari" [[params.profiles]] name = "LinkedIn" url = "" ``` ## Creating posts ```sh # This creates a new draft post in content/posts hugo new posts/title-of-post.md ``` ## Serving it up ```sh # This will show up your draft posts as well. hugo server -D #OR #This will show up only your published posts. hugo server ``` ## Credits * Thanks to [Vegard's](https://github.com/vegarsti) personal site from which the theme was heavily inspired. * Also to https://www.gwern.net/ for the dark mode. Feel free to contribute and open issues.
Explore similar templates
Compare previews and descriptions within the same stack and category.

hugo-PaperMod
A fast, clean, responsive Hugo theme for blogs and lightweight portfolios, with three layout modes (Regular, Home-Info, Profile), automatic and manual light/dark themes, Fuse.js client-side search, multilingual support, and built-in Open Graph, Twitter Cards, and Schema.org data.
Hugo · Portfolio

LoveIt
LoveIt is a clean, elegant, and feature-rich Hugo blog theme derived from LeaveIt and KeepIt, MIT-licensed. It offers light/dark modes, responsive layout, multilingual support, and search via Lunr.js or Algolia.
Hugo · Blog

hugo-coder
hugo-coder is a minimalist Hugo blog theme maintained by luizdepra under the MIT license. It provides a clean, text-focused blog appearance, configuration documentation in the docs directory, and a complete exampleSite with hugo.toml.
Hugo · Blog

blowfish
Blowfish is a Hugo personal website and blog theme built with Tailwind CSS 4, focused on lightness, simplicity, and content-first presentation.
Hugo · Blog

hugo-paper
hugo-paper is a simple, clean, and customizable Hugo blog theme configured through config.toml or hugo.toml.
Hugo · Blog

hextra
Hextra is a Hugo theme for documentation and blog sites, built on Hugo and Tailwind CSS with design referencing Nextra.
Hugo · Documentation
