HugoStarter

vitis — Hugo Starter Template

By mohamedelhefni

Vitis is a Hugo theme for knowledge management and digital gardens, supporting wiki links, a knowledge graph, and backlinks.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Supports [[wiki-link]] syntax, automatically converting to Hugo links and generating backlinks on referenced pages

02

Interactive knowledge graph based on D3.js, visualizing article connections, tags, and series relationships

03

Series support: automatic grouping, progress display, and navigation between entries

04

Built-in client-side search based on Fuse.js, automatic table of contents, reading time, and tag classification

05

Dark/light mode switching with preference detection and customizable social icons

06

Provides SEO output including Open Graph, Twitter Cards, and schema markup

Template Details

Vitis is a Hugo theme positioned as a digital garden and personal knowledge base. It organizes content around connections between notes: using the [[wiki-link]] syntax in Markdown establishes links between pages, and the theme automatically converts these references into Hugo links, generates backlinks on the referenced pages, and incorporates the connections into a knowledge graph.

The knowledge graph page is rendered with D3.js to visualize connections formed by wiki links between articles, as well as tag and series relationships. It can be accessed via the /graph path or added to the navigation menu. The theme also provides series support: after declaring a series name in the front matter, related articles are automatically grouped, series progress is displayed, and navigation between entries is provided.

At the content level, the theme includes an automatically generated table of contents, code block syntax highlighting, client-side search based on Fuse.js, reading time estimation, and tags and taxonomies. The interface supports dark/light mode switching with preference detection and offers customizable social icons. For SEO, it includes Open Graph, Twitter Cards, and schema markup; for privacy, it provides configurable analytics options.

There are three installation methods: Hugo Modules, Git Submodule, or cloning directly into the themes directory. The theme uses Tailwind CSS; to modify design variables such as colors and fonts, you need to copy tailwind.config.js and rebuild the CSS via npm. The README requires Hugo Extended 0.112.0 or higher, Git when using Hugo Modules, and Node.js and npm when customizing Tailwind.

Note: the repository currently has very few stars, so the theme's maturity and long-term maintenance should be evaluated independently; third-party assets such as images, fonts, and icons in the demo site should have their licenses checked separately and cannot be judged solely by the code's MIT license.

HugoLauncher

Is it right for your project?

Use Cases

  • Building a personal digital garden to connect scattered notes with wiki links
  • Maintaining multi-part serialized content that requires series progress and navigation between entries
  • Viewing citation and tag relationships between notes through a knowledge graph
  • Providing reading aids such as a table of contents, code highlighting, search, and reading time for long articles

Suitable For

  • Personal sites using Hugo that want to organize content through note connections
  • Knowledge base projects that need backlinks and knowledge graph capabilities
  • Authors writing multi-part series who want automatic progress display

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Hugo Extended 0.112.0 or higher

  2. 2

    Can be installed via Hugo Modules, Git Submodule, or cloning into the themes directory

  3. 3

    Requires Git when using the Hugo Modules method

  4. 4

    Modifying Tailwind styles requires Node.js and npm and rebuilding the CSS

  5. 5

    You can copy exampleSite/hugo.toml as a starting point for site configuration

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This listing covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Allows free use, modification, commercial use, and distribution of this version's code.
  • 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

  • Node.js and npm are only required to install and rebuild CSS when customizing Tailwind CSS styles; if styles are not modified, this dependency is not needed.
  • Google Analytics is an optional configuration; enabling it requires providing your own GA tracking ID and is a third-party external service.
  • Disqus comments are an optional feature; enabling them requires providing a Disqus shortname and depends on a third-party external service.
  • Using the Hugo Modules installation method requires Git to be installed locally.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Node.js and npm (only if customizing Tailwind CSS)

Original README

[params.analytics] [params.analytics.google] id = "G-XXXXXXXXXX"

Original README

[services.disqus] shortname = 'your-disqus-shortname'

Original README

Git (for Hugo Modules method)

Original README
https://github.com/mohamedelhefni/vitis/blob/main/LICENSEhttps://github.com/mohamedelhefni/vitis/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. 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
Hugo Themes
Documentation and maintenance reference score
More documented · 83 / 100
Technologies
Hugo
Website type
Starter
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
2026-03-15
Screenshot last checked
2026-10-03

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.

Review declaration: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: 68e1b91d32a14d7093bfa4dadfc841fa54440fef0bef0f50a7074749b2e0628e

2026-10-03T15:28:02.402Z

Source file / repository
# Vitis

A modern Hugo theme designed as a digital garden with Obsidian-like features including wiki-links, knowledge graph visualization, backlinks, and series support.

![Vitis Theme Screenshot](https://raw.githubusercontent.com/mohamedelhefni/vitis/main/images/screenshot.png)

## Demo

[Live Demo](https://vitis-demo.netlify.app/)

## Features

- **Wiki-Links Support**: Create connections between your content using `[[wiki-link]]` syntax
- **Interactive Knowledge Graph**: Visual representation of content relationships with D3.js
- **Backlinks**: Automatic bidirectional linking between related content
- **Series Support**: Organize content into multi-part series with progress tracking
- **Responsive Design**: Beautiful on all devices and screen sizes
- **Dark/Light Mode**: Toggle between themes with automatic preference detection
- **Table of Contents**: Auto-generated navigation for long-form content
- **Syntax Highlighting**: Code blocks with Dracula theme support
- **Search Functionality**: Fast client-side search powered by Fuse.js
- **Reading Time**: Estimated reading time for all posts
- **Tags & Taxonomies**: Organize and discover content easily
- **Social Icons**: Customizable social media links
- **SEO Optimized**: Open Graph, Twitter Cards, and schema markup
- **Performance**: Optimized for speed with minification and lazy loading
- **Privacy Focused**: GDPR compliant with configurable analytics

## Screenshots

### Homepage
![Homepage](https://raw.githubusercontent.com/mohamedelhefni/vitis/main/images/screenshot.png)

### Knowledge Graph
![Knowledge Graph](https://raw.githubusercontent.com/mohamedelhefni/vitis/main/images/screenshot-graph.png)

### Post View
![Post View](https://raw.githubusercontent.com/mohamedelhefni/vitis/main/images/screenshot-post.png)

### Series Progress
![Series Progress](https://raw.githubusercontent.com/mohamedelhefni/vitis/main/images/screenshot-series.png)

## Installation

### Method 1: Hugo Modules (Recommended)

1. Initialize your Hugo site as a module:

```bash
hugo mod init github.com/yourusername/yoursite
```

2. Add the theme to your `hugo.toml`:

```toml
[module]
  [[module.imports]]
    path = "github.com/mohamedelhefni/vitis"
```

3. Get the module:

```bash
hugo mod get -u
```

### Method 2: Git Submodule

```bash
git submodule add https://github.com/mohamedelhefni/vitis.git themes/vitis
```

Then add to your `hugo.toml`:

```toml
theme = "vitis"
```

### Method 3: Clone

```bash
git clone https://github.com/mohamedelhefni/vitis.git themes/vitis
```

## Quick Start

1. Copy the example site configuration:

```bash
cp themes/vitis/exampleSite/hugo.toml hugo.toml
```

2. Update the `baseURL`, `title`, and other site parameters in `hugo.toml`

3. Create your first post:

```bash
hugo new posts/my-first-post.md
```

4. Start the Hugo server:

```bash
hugo server -D
```

5. Visit `http://localhost:1313`

## Configuration

### Basic Configuration

```toml
baseURL = "https://example.com/"
title = "My Digital Garden"
languageCode = "en"
defaultContentLanguage = "en"

[module]
  [[module.imports]]
    path = "github.com/mohamedelhefni/vitis"

# Site Parameters
[params]
  description = "My personal knowledge base and digital garden"
  author = "Your Name"
  keywords = ["blog", "digital garden", "knowledge base"]

  # Social links
  github = "https://github.com/yourusername"
  mail = "mailto:[email protected]"
  site = "https://yoursite.com/"

[params.social]
  twitter = "yourusername"
  github = "yourusername"
```

### Navigation Menu

```toml
[menu]
  [[menu.main]]
    identifier = "home"
    name = "Home"
    url = "/"
    weight = 10

  [[menu.main]]
    identifier = "posts"
    name = "Posts"
    url = "/posts"
    weight = 20

  [[menu.main]]
    identifier = "graph"
    name = "Graph"
    url = "/graph"
    weight = 30
```

### Analytics (Optional)

```toml
[params.analytics]
  [params.analytics.google]
    id = "G-XXXXXXXXXX"

  [params.analytics.plausible]
    domain = "yoursite.com"
```

### Comments (Optional)

```toml
[services.disqus]
  shortname = 'your-disqus-shortname'
```

## Content Creation

### Creating Posts

```bash
hugo new posts/my-post.md
```

Example front matter:

```yaml
---
title: "My First Post"
date: 2024-02-27
draft: false
description: "A brief description of the post"
tags: ["hugo", "blog", "digital-garden"]
series: ["Getting Started"]
---
```

### Creating Series

Add posts to a series by including the series name in the front matter:

```yaml
---
title: "Part 1: Introduction"
series: ["My Series Name"]
---
```

The theme will automatically:
- Group related posts
- Show series progress
- Display navigation between parts

### Using Wiki-Links

Create connections between your content using wiki-link syntax:

```markdown
This post is related to [[other-post-title]] and [[another-post]].
```

The theme will automatically:
- Convert wiki-links to proper Hugo links
- Create backlinks on linked pages
- Include these connections in the knowledge graph

### Knowledge Graph

The knowledge graph automatically visualizes:
- Connections between posts via wiki-links
- Tag relationships
- Series connections

Access it at `/graph` or add it to your menu.

## Customization

### UI Strings

Customize all text in the theme by overriding the `[params.ui]` section:

```toml
[params.ui]
  greeting = "Welcome"
  recent_posts = "Latest Articles"
  reading_time_singular = "min read"
  reading_time_plural = "mins read"
```

See `exampleSite/hugo.toml` for all available strings.

### Styling

The theme uses Tailwind CSS. To customize:

1. Copy `tailwind.config.js` from the theme root
2. Modify colors, fonts, and other design tokens
3. Rebuild CSS:

```bash
npm install
npm run build
```

### Syntax Highlighting

Change the code highlighting theme in `hugo.toml`:

```toml
[markup.highlight]
  style = "dracula"  # or monokai, github, etc.
```

## Advanced Features

### Search

Search is automatically enabled. The theme generates a JSON index of your content.

### Backlinks

Backlinks are automatically generated for pages that are referenced via wiki-links.

### Related Posts

The theme shows related content based on:
- Shared tags (weight: 100)
- Same series (weight: 80)
- Publication date (weight: 10)

Customize in `hugo.toml`:

```toml
[related]
  includeNewer = true
  threshold = 80
  toLower = true
  [[related.indices]]
    name = "tags"
    weight = 100
```

## Requirements

- Hugo Extended v0.112.0 or higher
- Git (for Hugo Modules method)
- Node.js and npm (only if customizing Tailwind CSS)

## Performance

The theme is optimized for performance:
- Minified HTML, CSS, and JavaScript
- Lazy loading for images
- Optimized font loading
- Minimal dependencies
- Fast client-side search

## Browser Support

- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## Support

- [Documentation](https://github.com/mohamedelhefni/vitis/wiki)
- [Issue Tracker](https://github.com/mohamedelhefni/vitis/issues)
- [Discussions](https://github.com/mohamedelhefni/vitis/discussions)

## License

This theme is released under the MIT License. See [LICENSE](LICENSE) for details.

## Credits

- Developed by [Mohamed Elhefni](https://github.com/mohamedelhefni)
- Knowledge graph visualization powered by [D3.js](https://d3js.org/)
- Search powered by [Fuse.js](https://fusejs.io/)
- Icons from [Heroicons](https://heroicons.com/)
- Styled with [Tailwind CSS](https://tailwindcss.com/)

## Acknowledgments

Inspired by:
- Obsidian's knowledge management features
- Digital garden philosophy
- Andy Matuschak's notes on note-taking
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

hugo-xmin

hugo-xmin

hugo-xmin is an extremely minimal Hugo theme written by Yihui Xie for template beginners. HTML and CSS total about 140 lines, with no external dependencies, and it uses the MIT license.

Hugo · Starter

hugo-theme-gallery

hugo-theme-gallery

A Hugo Extended photo gallery theme that organizes images with Page Bundles, automatically generating album lists and gallery pages with a Justified layout and PhotoSwipe lightbox.

Hugo · Starter

reveal-hugo

reveal-hugo

reveal-hugo is a Hugo theme that converts Markdown content into Reveal.js-based HTML presentations. It supports slide separation with `---`, shortcodes for fragments, slides, sections, notes, Markdown, and MathJax, and organizes content as root or section presentations with order controlled by weight.

Hugo · Starter

anatole

anatole

Anatole is a minimalistic two-column Hugo theme ported from farbox-theme-Anatole, featuring dark mode, multilingual and RTL support, and optional portfolio, comments, analytics, KaTeX, and Mermaid integrations. It suits personal blogs, portfolios, or documentation sites built with Hugo.

Hugo · Starter

hugo-theme-diary

hugo-theme-diary

A Hugo diary-style theme ported from the Hexo theme Journal, with a grid homepage for essays and daily notes. It supports six languages, dark mode, table-of-contents scroll positioning, reading time, code highlighting, and configurable sidebar, fonts, and colors.

Hugo · Starter

risotto

risotto

risotto is a minimalist, responsive Hugo theme inspired by terminal ricing aesthetics. It uses semantic HTML and pure CSS with no JavaScript, and its layout relies on CSS Grid for native responsiveness without manual breakpoints.

Hugo · Starter