Lekh is a minimal, text-focused Hugo theme for personal portfolio sites, offering a clean reading experience with dark mode and GoatCounter analytics built in.
What is Lekh?
Lekh is a Hugo theme designed for personal portfolios and blogs that emphasize content over decoration. It takes Markdown content from your Hugo site and renders it as a static website with a simple, typography-driven layout. The theme includes social media links, an RSS feed, dark mode, and GoatCounter analytics integration. It was created by Rahul Tiwari (GitHub: ba11b0y) and is inspired by Vegard Stikbakke's personal site at vegarsti.github.io.
Key Features
- Minimal text-focused design — A clean layout centered on typography, with no heavy graphics or sidebar clutter.
- Social media links — Configure links to GitHub, Twitter, Goodreads, and LinkedIn through the
params.profilesarray in config.toml. - Markdown supported — Write posts and pages in Markdown; Hugo converts them to static HTML.
- RSS feed — Standard Hugo RSS output lets visitors subscribe to your content.
- Dark mode — A dark theme ported directly from gwern.net, giving readers a low-light alternative.
- GoatCounter analytics — Privacy-friendly web analytics; add your GoatCounter code in the
GoatCounterCodeparameter as a lightweight alternative to Google Analytics. - Easy personalization — Copy the default config.toml and adjust fields like Name, About, Email, Resume, PostLimit, and profile links without touching HTML.
Who is it for?
- Writers and bloggers who want a distraction-free space to publish long-form articles.
- Developers who need a simple portfolio to showcase projects and link to their GitHub and other profiles.
- Hugo newcomers looking for a minimal, editable theme where all configuration lives in a single config.toml.
What can you do with Lekh?
- Publish blog posts: Create drafts with
hugo new posts/title-of-post.md, preview them withhugo server -D, and publish by removing draft status. - Set a custom bio: Use the
Aboutparameter to display a short introduction, supporting Markdown and basic HTML like line breaks. - Control homepage posts: Adjust
PostLimitto change how many posts appear on the front page. - Link a resume: Place a resume file in your static folder and set the
Resumeparameter to add a download link.
How does Lekh work?
After installing Hugo, you create a new site with hugo new site <site_name>, add Lekh as a git submodule from https://github.com/ba11b0y/lekh.git, and set theme = "lekh" in config.toml. Copy the example config to personalize the site, then write Markdown content in the content/posts directory and run hugo server to preview. The static site is generated from your content and the theme's templates.
Alternatives
Other minimal Hugo themes include PaperMod, which offers more customization options and a larger feature set, and Ananke, a straightforward starter theme widely used in Hugo's official documentation.
FAQ
Is Lekh free?
Yes, Lekh is an open-source Hugo theme available on GitHub. You can download or clone it for free and modify it for your own use.
How do I enable GoatCounter analytics?
Set the GoatCounterCode parameter in your config.toml to your GoatCounter site code. The theme will automatically include the GoatCounter tracking script on all pages.
Does Lekh support dark mode?
Yes. Dark mode is built in and is taken from gwern.net. It provides an alternative color scheme for low-light environments.
Can I use Lekh with a custom domain?
Absolutely. Define your domain in the baseURL field of config.toml, and Hugo will generate all URLs relative to that address.





