
Template details
Kaslaanka
A minimalist, text-oriented Hugo theme for blogs and personal websites.
About this template
Kaslaanka is a minimalist Hugo theme for text-first blogs and personal websites, forked from the Hugo Tanka theme and distributed under the GPL-3.0 license. It builds static HTML pages from Markdown content, works without JavaScript by default, and is designed for users who want a small, easy-to-customize base rather than a pre-styled site.
What is Kaslaanka?
Kaslaanka is a Hugo theme that turns Markdown content with front matter into a static blog or personal website. It runs on the Hugo static site generator, which you install separately, and outputs plain HTML and CSS with no required JavaScript. The theme is a fork of Hugo Tanka, created by the repository owner Iossefy, and has a live demo at iossefy.github.io/kaslaanka.
The theme keeps a "do it yourself" philosophy. The README explicitly says you probably want to change the CSS to make it your taste, and provides a custom.css file for that purpose. It also removed several components from its parent theme, including Bootstrap, the utterances comment system, the progressively image loader, and highlight.js.
Key Features
- Scriptless by default — the theme works without any JavaScript; custom scripts are optional and can be added via a custom.js partial.
- Customizable theme — users can override styles in /static/css/custom.css, add scripts in /static/js/custom.js, and insert meta or link tags through /layouts/partials/meta.html.
- Homepage project listing — the index page can show user-defined projects using the myprojects parameter, each with a name, description, and URL, plus a projectsURL link to more projects.
- Blog list with pagination — the homepage shows a limited number of posts (configurable with paginationLen, default 3), and a separate /blog/ page lists all posts.
- Unlisted posts — adding unlisted: true to front matter hides a post from normal listings.
- Categories and tags — front matter supports both tags and categories, which generate index pages under /tags/ and /categories/.
- Multilingual support — the theme includes a languages configuration block with English and Russian examples, though the README warns it may not work out of the box.
- Author-friendly extras — posts can have a brief description under the title, an edit counter via an edits front matter value, and an optional huge first-letter paragraph effect.
Who is it for?
Kaslaanka is for people who want a minimal, self-hosted blog and are comfortable editing configuration files. It suits developers who want to customize every part of their site's HTML and CSS. It is also a good match for writers who prefer a quiet, text-only reading experience with no JavaScript tracking or interactive widgets. Finally, it works well for users who deploy to GitHub Pages, since the theme is tested with that workflow.
What can you do with Kaslaanka?
- Bloggers: publish Markdown posts with tags and categories, set a custom homepage excerpt, and hide draft or unlisted articles from the feed.
- Developers: fork the theme and restyle it using custom.css, add external scripts in scripts.html, and configure multilingual content with the included language block.
- Personal site owners: show a brief_about message and a grid of projects on the homepage, with links to external project pages like GitHub repositories.
How does Kaslaanka work?
First, install Hugo following the official setup guide. Then create a new site with hugo new site ., initialize Git, and fetch the theme as a submodule with git submodule add https://github.com/Iossefy/kaslaanka.git themes/kaslaanka. After that, set theme = 'kaslaanka' in config.toml (or config.yml), add the documented params, and run hugo serve to preview at localhost:1313. The README warns that the exampleSite contains a workaround used to deploy on GitHub Pages and should not be copied fully.
Pros and cons
- Pros: no JavaScript means faster pages and fewer dependencies; small codebase because Bootstrap and other heavy components were removed; lots of knobs for customization through CSS and partials.
- Cons: no built-in comment system (utterances was removed); multilingual support is not fully packaged; you must write your own CSS to get a distinctive design.
Pricing
Kaslaanka is free and open source under the GPL-3.0 license. There is no paid tier or premium version.
Alternatives
Hugo Tanka is the direct parent theme that Kaslaanka forked, so it is the closest alternative; it keeps the components that Kaslaanka removed, such as Bootstrap and highlight.js.
FAQ
Is Kaslaanka free?
Yes, Kaslaanka is free and licensed under GPL-3.0. You can use, modify, and redistribute the theme as long as you follow the terms of that license.
Does Kaslaanka require JavaScript?
No. The theme is scriptless by default, meaning it works without any JavaScript. If you want to add scripts, you can include them in the custom.js file or in the external scripts partial.
How can I customize the theme?
Add your own CSS to /static/css/custom.css, add JavaScript to /static/js/custom.js, and add meta or link tags in /layouts/partials/meta.html. The README gives examples for changing the first-letter style and adding a script.
Does Kaslaanka support multiple languages?
The theme includes a languages configuration block with English and Russian examples. However, the README states it may not work out of the box, so you may need to adjust content directories and related settings.
How do I make a post unlisted?
Set unlisted: true in the front matter of a post. That post will then be hidden from the normal listing pages while remaining accessible if you want to link to it directly.
















