https://github.com/stultus/kavu
A Hugo theme for digital gardens, named after the sacred groves of Kerala. Monospace, terminal-inspired, with note maturity stages, backlinks, and an interactive network graph.
https://github.com/stultus/kavu
dark-theme digital-garden digitalgarden hugo-theme knowledge-base monospace second-brain zettelkasten
Last synced: about 2 months ago
JSON representation
A Hugo theme for digital gardens, named after the sacred groves of Kerala. Monospace, terminal-inspired, with note maturity stages, backlinks, and an interactive network graph.
- Host: GitHub
- URL: https://github.com/stultus/kavu
- Owner: stultus
- License: mit
- Created: 2024-11-03T15:10:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-30T21:41:06.000Z (about 2 months ago)
- Last Synced: 2026-04-30T22:20:11.063Z (about 2 months ago)
- Topics: dark-theme, digital-garden, digitalgarden, hugo-theme, knowledge-base, monospace, second-brain, zettelkasten
- Language: HTML
- Homepage: https://stultus.in/notes
- Size: 11.4 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Kavu
> Named after the കാവ് (kavu), the sacred groves of Kerala: small, protected, deliberately overgrown.
A monospace, terminal-inspired Hugo theme for digital gardens and personal knowledge bases. Designed around the principles of interconnected note-taking, with support for note maturity stages, network graph visualization, and dense cross-linking.
**Live site**: [stultus.in/notes](https://stultus.in/notes/)
## Preview
Homepage — dark and light:
| Dark | Light |
| :---: | :---: |
|  |  |
Network graph — force-directed view of all notes coloured by maturity:
| Dark | Light |
| :---: | :---: |
|  |  |
Browse-by-topic and the full note index:
| Dark | Light |
| :---: | :---: |
|  |  |
## Features
**Homepage**
- Live garden statistics (total notes, evergreen/growing/seedling counts)
- Recently Tended and Most Connected entry points
- Collapsible topic cards for browsing by theme
- Filterable and sortable full note index
- Random note discovery button
- Interactive network graph with search, hover highlighting, and fullscreen mode
**Note Pages**
- Inline metadata bar: maturity status, dates, reading time
- Summary subtitle and tag pills
- Automatic backlinks with summaries
- Random note navigation
**Tag System**
- Tag cloud with note counts
- Sortable tag pages (Recent / A-Z / Status)
- Related tags discovery based on co-occurrence
**Network Graph**
- Force-directed graph of all notes and their connections
- Hover to highlight a node and its neighbors with labels
- Label collision avoidance
- Search, zoom, fit-to-view, and fullscreen controls
- Keyboard shortcuts: `/` search, `F` fit, `Shift+F` fullscreen, `+`/`-` zoom
**Design**
- Monospace typography (JetBrains Mono, IBM Plex Mono, Fira Code)
- Nord-inspired color palette with CSS variables
- Full dark mode support
- Responsive layout
- Wikilink-style `[[bracket]]` rendering for internal links
- Malayalam font support (Manjari)
## Note Maturity
Notes use a `status` frontmatter field to indicate maturity:
| Status | Meaning |
|--------|---------|
| `seeding` | Stub or rough idea |
| `growing` | Developed draft, partially linked |
| `evergreen` | Polished, well-linked, stable understanding |
## Getting Started
```bash
# Add as a submodule
git submodule add git@github.com:stultus/kavu.git themes/kavu
```
Set in `hugo.toml`:
```toml
theme = "kavu"
themesdir = "./themes"
```
### Frontmatter
```yaml
---
title: "Your Note Title"
date: 2025-01-01
lastmod: 2025-01-15
draft: false
tags: ["topic-a", "topic-b"]
summary: "One-line description of the note."
status: "seeding" # seeding | growing | evergreen
type: "note" # note | essay | moc | source
---
```
### Internal Links
Use absolute paths for internal links to ensure the theme's link resolver works correctly:
```markdown
[Note Title](/notes/note-slug/)
```
## Theme credit
Kavu renders a small "Built with Kavu by stultus" line in the footer by default. If you'd rather not include it, set in your `hugo.toml`:
```toml
[params]
hideThemeCredit = true
```
Keeping it on is appreciated — it helps other people find the theme.
## Origin
Kavu was originally forked from [paulmartins/hugo-digital-garden-theme](https://github.com/paulmartins/hugo-digital-garden-theme), which was inspired by [Maggie Appleton's website](https://maggieappleton.com/). It has since been substantially rewritten with a new design system, homepage, note pages, tag system, network graph, and CSS architecture.
## License
MIT