HugoBlog

linewise — Hugo Blog Template

By tabsp

Linewise is a Hugo theme for personal blogs inspired by Vim's interaction model. It provides interface elements such as a command palette, search panel, bufferline, file explorer, and status bar, and supports client-side search and giscus comments.

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-02View source

What stands out

A quick read of the recorded project description.

01

Interface designed around Vim's interaction model, including a command palette, search panel, bufferline, file explorer, and status bar

02

Supports client-side search, with data provided by /search.json

03

Built-in tags, article lists, RSS, sitemap, canonical URLs, and Open Graph metadata

04

Can integrate comments via giscus based on GitHub Discussions, disabled by default

05

Provides keyboard operations for list navigation and reading, with a file explorer drawer and horizontally scrollable buffer tabs on mobile

06

Supports two installation methods: git submodule or Hugo Module

Template Details

Linewise is a Hugo theme hosted on GitHub, aimed at personal blogs. It organizes articles as buffers, borrows from Vim's quickfix for search interactions, and adopts Vim's interaction model throughout the interface while preserving reading comfort. The theme can be installed as a git submodule or a Hugo Module. Articles are placed as Markdown in the content/posts/ directory, with support for tags, article lists, RSS, sitemap, canonical URLs, and Open Graph metadata. Search is implemented client-side, with data from /search.json; comments use giscus based on GitHub Discussions and are disabled by default. The interface includes a Vim-style command palette, search panel, bufferline, file explorer, and status bar, and provides keyboard operations for list navigation and reading; on mobile, it offers a file explorer drawer and horizontally scrollable buffer tabs.

Before use, note the following: the theme requires Hugo Extended 0.146.0 or later; installing via Hugo Modules requires Go; Node.js and pnpm are only used for the theme's own development and Playwright tests. Choose one installation method; do not configure both theme = "linewise" and the Linewise module import. The theme is released under the MIT license, allowing free use, modification, commercial use, and distribution, but when distributing copies or substantial portions of the code, you must retain the original author's copyright notice and the full MIT license notice; third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses, and external services such as domains and hosting may incur additional charges.

HugoBlog

Is it right for your project?

Use Cases

  • Building a personal blog focused on Markdown articles
  • Sites that want a blog interface with Vim-style interactions and keyboard habits
  • Static blogs that need client-side search, tags, RSS, and Open Graph metadata
  • Sites using giscus and GitHub Discussions for comments
  • Blogs that also need file browsing and article switching on mobile

Suitable For

  • Personal bloggers familiar with Hugo who want to quickly apply a theme
  • Writers accustomed to Vim operations and preferring keyboard navigation
  • Developers who need to modify and distribute theme code under the MIT license
  • Site maintainers who manage comments with GitHub Discussions

Getting started & customization

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

  1. 1

    Requires Hugo Extended 0.146.0 or later; installing with Hugo Modules also requires Go

  2. 2

    Choose one installation method: git submodule or Hugo Module; do not configure both theme = "linewise" and the Linewise module import

  3. 3

    Add Linewise default parameters to the site configuration, including taxonomies, params.linewise, comments, outputs, and the JSON output format

  4. 4

    Write articles in the content/posts/ directory using Markdown and front matter

  5. 5

    Node.js and pnpm are only used for theme development and Playwright tests, not required for using the theme

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of that 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 that 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

  • The comment feature relies on giscus and the external GitHub Discussions service; you need to enable Discussions in the GitHub repository and configure giscus, and it is disabled by default (provider = "none").
  • If you choose to install the theme via Hugo Module, you need a local Go toolchain; using git submodule does not require it.
  • Node.js and pnpm are only used for the theme's own development and Playwright tests; they are not required for ordinary site building with the theme.
  • Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

giscus comments powered by GitHub Discussions

Original README

Go, if installing with Hugo Modules

Original README

Node.js and pnpm only for Linewise theme development and Playwright tests

Original README
https://github.com/tabsp/linewise/blob/main/LICENSEhttps://github.com/tabsp/linewise/blob/main/README.md

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

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 9e735183e64ce4fb2880531f0a5338bc419ce4c27568617882c393aab587ce1a

2026-10-02T21:09:24.886Z

Source file / repository
# Linewise

[![Hugo](https://img.shields.io/badge/Hugo-0.146%2B-FF4088?logo=hugo&logoColor=white)](https://gohugo.io)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

![Linewise Screenshot](images/screenshot.png)

Linewise is a Vim-inspired Hugo theme for personal blogs. Posts behave like buffers, search borrows from quickfix, and the interface uses Vim as an interaction model without sacrificing reading comfort.

**Demo and docs:** [linewise.tabsp.com](https://linewise.tabsp.com)

## Features

- Hugo theme installable as a git submodule or Hugo Module
- Markdown posts in `content/posts/`
- Tags, posts list, RSS, sitemap, canonical URLs, and Open Graph metadata
- Client-side search backed by `/search.json`
- giscus comments powered by GitHub Discussions
- Vim-like command palette, search palette, bufferline, file explorer, and statusline
- Keyboard motions for list navigation and reading
- Mobile file explorer drawer and horizontally scrollable buffer tabs

## Requirements

- Hugo Extended `0.146.0` or newer
- Go, if installing with Hugo Modules
- Node.js and pnpm only for Linewise theme development and Playwright tests

## Installation

Create a Hugo site:

```sh
hugo new site my-blog
cd my-blog
```

Then choose one installation mode.

### Git Submodule

```sh
git submodule add https://github.com/tabsp/linewise themes/linewise
```

```toml
baseURL = "https://example.com"
title = "My Blog"
locale = "en"
theme = "linewise"
```

### Hugo Module

```sh
hugo mod init github.com/you/my-blog
```

```toml
baseURL = "https://example.com"
title = "My Blog"
locale = "en"

[module]
[[module.imports]]
path = "github.com/tabsp/linewise"
```

Use one mode per site. Do not configure both `theme = "linewise"` and a Linewise module import.

## Configuration

Add the Linewise defaults to your site config:

```toml
[taxonomies]
tag = "tags"

[params.linewise]
description = "Notes from the command line."
author = "Your Name"
locale = "en"
favicon = "favicon.svg"
ogImage = "og.svg"
showExplorer = true
showBufferline = true

[params.linewise.comments]
provider = "none"

[outputs]
home = ["HTML", "RSS", "JSON"]

[outputFormats.JSON]
mediaType = "application/json"
baseName = "search"
isPlainText = true

[markup.highlight]
noClasses = false
```

Write posts in `content/posts/`:

```md
---
title: "Your Post Title"
description: "A short description for SEO and previews."
date: 2026-01-01
tags: ["notes"]
draft: false
---
```

Read the full documentation on the example site: [Theme Reference](https://linewise.tabsp.com/posts/theme-reference/).

## Development

```sh
pnpm install
pnpm dev
pnpm build
pnpm test
```

`pnpm dev` serves the example site at `http://localhost:4322/`.

## Project Layout

```text
archetypes/          Hugo archetypes
assets/              Theme CSS and TypeScript bundled by Hugo Pipes
exampleSite/         Example Hugo site
images/              Theme screenshots
layouts/             Hugo templates, partials, and shortcodes
static/              Theme-owned static assets
theme.toml           Hugo theme metadata
```

## License

MIT
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.