Kaslaanka is a minimalist, text-oriented theme for the Hugo static site generator, designed for blogs and personal websites; it is a fork of Hugo-tanka, distributed under the GPL-3.0 license.
What is Kaslaanka?
Kaslaanka is a Hugo theme that turns Markdown content into a static blog or personal website with a clean, text-first layout. It takes Hugo content files, front-matter parameters, and a config file as input, and outputs a fully static HTML site that requires no JavaScript by default. The theme was created by GitHub user Iossefy and is a fork of the Hugo-tanka theme. A live demo is hosted at iossefy.github.io/kaslaanka.
What makes Kaslaanka stand out?
Kaslaanka sets itself apart with a scriptless, no-Bootstrap approach that prioritizes speed and user flexibility.
- Scriptless by default — The theme ships with no JavaScript unless you add your own via
custom.jsor external script partials, keeping pages fast and dependency-free. - Do-it-yourself customization — Users are expected to override
/static/css/custom.csswith their own styles; CSS and JS files are not minified or processed. - Home page project listing — Configure
myprojectsandprojectsURLin your config to show a list of projects with names, descriptions, and links on the index page. - Unlisted posts — Any post can be hidden from listings by setting
unlisted: truein its YAML front matter. - Brief descriptions and edit counters — Front-matter fields
briefandeditsadd a description under blog titles and display an edit count. - Multi-language support — The theme includes sample English and Russian language config, though the README warns it may not work out of the box.
- No Bootstrap — Removed the Bootstrap dependency from the original Hugo-tanka theme; the layout relies entirely on custom CSS.
- Better favicons and tags — Includes improved favicon handling and per-post tags and categories with dedicated listing pages.
Who should use Kaslaanka?
Kaslaanka is suited to anyone who wants a clean, text-first static website without client-side JavaScript.
- Bloggers — Write posts in Markdown and publish them as a clean, text-focused blog with categories and tags.
- Personal website owners — Showcase projects with the built-in
myprojectssection, a brief about-me block, and a link to a full projects page. - Hugo developers — Use it as a lightweight starting point to build a custom site, relying on
custom.css,custom.js, and partials to extend the layout without a heavy framework. - Performance-conscious publishers — Deploy a static site to GitHub Pages or any static host with no client-side JavaScript overhead.
What can you do with Kaslaanka?
- Indie writers: publish unlisted drafts or members-only posts using the
unlistedfront-matter flag, and keep them out of the main blog listing. - Product builders: list open-source projects on the homepage with
myprojects, linking each entry to a repository or external URL. - Multilingual creators: add Russian, English, or other languages by configuring
languagesin the Hugo config, as shown in the includedconfig.ymlexample. - Customized portfolios: override the default styling by adding CSS to
/static/css/custom.cssand augment behavior with/static/js/custom.js.
How does Kaslaanka work?
A typical setup starts by creating a Hugo site, adding the theme as a git submodule, and setting theme = 'kaslaanka' in config.toml. Then you add the required [params] entries like sitename, copyrights, defaultList, and paginationLen, define projects in [[params.myprojects]], and create navigation links under [[menu.primary]]. Running hugo serve previews the site at localhost:1313; hugo builds the static output.
Pros and cons
The theme's main trade-offs are its optional JavaScript-free design and its do-it-yourself ethos.
- Pros: No JavaScript by default; lightweight and fast; free under GPL-3.0; includes an example site in
exampleSite/. - Cons: Multilingual support is not guaranteed to work out of the box, and the theme intentionally requires manual CSS customization to fit your taste.
Pricing
Kaslaanka is free and open source, released under the GPL-3.0 license. You can use it for personal or commercial projects without paying a fee, provided any derivative works are also licensed under GPL-3.0.
Alternatives
- Hugo-tanka — the original theme Kaslaanka was forked from; it still relies on Bootstrap and JavaScript, whereas Kaslaanka removes both.
FAQ
Is Kaslaanka free?
Yes, Kaslaanka is free open-source software distributed under the GPL-3.0 license. You are free to use, modify, and redistribute it, as long as derivative works also remain under GPL-3.0.
Does Kaslaanka require JavaScript?
No. The theme is scriptless by default and has no JavaScript dependencies. You can optionally add your own JavaScript by placing a custom.js file in /static/js/ or by editing the scripts.html partial.
How do I customize the theme?
Add your own CSS to /static/css/custom.css to override the default styles, and place custom JavaScript in /static/js/custom.js. You can also add external scripts via /layouts/partials/scripts.html and meta or link tags via /layouts/partials/meta.html.
Does Kaslaanka support multiple languages?
The theme includes a sample languages block for English and Russian in its config.yml, and Hugo's native multilingual system works with it. However, the README warns that multilingual support is not expected to work out of the box, so you may need to adjust content structure.








