HexoBlog

hexo-theme-nova — Hexo Blog Template

By liangqianxing

hexo-theme-nova is a Hexo theme that combines an academic-style personal homepage with a blog, offering dark/light mode switching, a table-of-contents sidebar, and a responsive layout.

Explore the design

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

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

The homepage is an academic-style personal page showing an avatar, bio, skill groups, and social links

02

The blog post list is located at /blog/ and uses a card layout

03

Supports dark and light mode switching and remembers the choice via localStorage

04

Post pages provide a table-of-contents sidebar and can display reading time

05

Uses pure CSS and vanilla JavaScript, with no front-end framework dependency

06

Uses Inter and Noto Sans SC fonts, accommodating Chinese and English typography

Template Details

hexo-theme-nova is a blog theme for Hexo, positioned to merge an academic-style personal homepage and a blog into a single site. The homepage serves as a personal page displaying an avatar, bio, skill groups, and social links, while the blog post list is placed under the /blog/ path and presented as cards. The theme includes dark and light mode switching and remembers the user's choice via localStorage; post pages provide a table-of-contents sidebar and also support reading time display. Styles are implemented with pure CSS and vanilla JavaScript, with no front-end framework dependency, and the fonts are Inter and Noto Sans SC, accommodating both Chinese and English typography.

Before use, the Hexo configuration must be adjusted according to the README: clone the theme directory into themes/nova and set theme: nova in _config.yml, change index_generator's path to /blog/, and set the layout of source/index.md to index so that the homepage renders as the personal page. Theme configuration is centralized in themes/nova/_config.yml, where you can fill in name, Chinese and English names, tagline, bio, avatar, location, social links, menu, skill groups, and switches such as dark_mode, toc, and reading_time. The default menu points to blog, archives, about, and friends.

In terms of limitations, the theme is based on Hexo 7.0 and above; the repository uses the MIT license, but third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses. The README does not describe content management beyond pagination, comments, search, or analytics, so you should confirm whether it meets your needs before use.

HexoBlog

Is it right for your project?

Use Cases

  • Building a Hexo site that includes both a personal academic homepage and a blog
  • Wanting the homepage to show a personal bio, skills, and social links, with the blog placed separately under the /blog/ path
  • A blog that needs dark mode, a post table of contents, and a responsive layout
  • Preferring a theme implemented with pure CSS and vanilla JavaScript without introducing a front-end framework

Suitable For

  • Users building a blog with Hexo 7.0 and above
  • Developers or researchers who need an academic-style personal homepage and blog displayed together
  • Users who want a theme that does not depend on a front-end framework and is easy to adjust styles themselves

Getting started & customization

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

  1. 1

    Clone the repository into the themes/nova directory of the Hexo site and set theme: nova in _config.yml

  2. 2

    Change index_generator's path to /blog/ so the blog list routes to that path

  3. 3

    Set layout to index in the front matter of source/index.md so the homepage renders as the personal page

  4. 4

    Copy themes/nova/_config.yml and fill in configuration items such as profile, social, menu, and skills

  5. 5

    The theme is based on Hexo 7.0 and above; third-party assets such as demo images, fonts, and icons must be checked under their respective licenses

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

  • The code of this version may be used, modified, used commercially, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete 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

  • This theme is a Hexo blog theme and must be used with Hexo 7.0 and above; it cannot run independently of Hexo.
  • Before use, you must modify Hexo's index_generator configuration to route the blog list to /blog/, otherwise the homepage and blog paths will not render as expected.
  • You must manually set layout to index in the front matter of source/index.md for the homepage to render as the personal page.
  • Theme functionality depends on copying and filling in configuration items such as profile, social, menu, and skills in themes/nova/_config.yml.
  • 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

A modern Hexo theme that combines an **academic personal homepage** with a **blog**

Original README

Also update `index_generator` to route the blog list to `/blog/`

Original README

And update your `source/index.md`:

Original README

Copy `themes/nova/_config.yml` and customize:

Original README
https://github.com/liangqianxing/hexo-theme-nova/blob/main/LICENSEhttps://github.com/liangqianxing/hexo-theme-nova/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. 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 · 75 / 100
Technologies
Hexo
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-04-06
Screenshot last checked
2026-10-01

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

The catalog identifies Hexo 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: f440d0efbc1de7735cba689eb467df75224dbc23f2225aae90459c88e694cf6f

2026-10-01T03:37:06.153Z

Source file / repository
# hexo-theme-nova

A modern Hexo theme that combines an **academic personal homepage** with a **blog** — clean, fast, and fully responsive.

![License](https://img.shields.io/github/license/liangqianxing/hexo-theme-nova)
![Hexo](https://img.shields.io/badge/hexo-%3E%3D7.0-blue)

## Features

- 🏠 **Academic homepage** as landing page — avatar, bio, skills, social links
- 📝 **Blog section** at `/blog/` with card-based post list
- 🌙 **Dark / Light mode** toggle with localStorage persistence
- 📖 **TOC sidebar** for posts
- ⚡ **Zero dependencies** — pure CSS + vanilla JS
- 📱 **Fully responsive** — mobile-first design
- 🔤 **Inter + Noto Sans SC** — beautiful bilingual typography

## Preview

> Live demo: [liangqianxing.github.io](https://liangqianxing.github.io)

| Homepage (Light) | Homepage (Dark) |
|:---:|:---:|
| ![Homepage Light](screenshots/homepage-light.png) | ![Homepage Dark](screenshots/homepage-dark.png) |

| Blog List | Post Detail |
|:---:|:---:|
| ![Blog List](screenshots/blog-list.png) | ![Post Detail](screenshots/post-detail.png) |

## Installation

```bash
cd your-hexo-blog
git clone https://github.com/liangqianxing/hexo-theme-nova themes/nova
```

Then set in your `_config.yml`:

```yaml
theme: nova
```

Also update `index_generator` to route the blog list to `/blog/`:

```yaml
index_generator:
  path: '/blog/'
  per_page: 10
  order_by: -date
```

And update your `source/index.md`:

```yaml
---
title: Home
layout: index
---
```

## Configuration

Copy `themes/nova/_config.yml` and customize:

```yaml
profile:
  name: Your Name
  name_cn: 你的名字
  tagline: Your tagline here
  bio: A short bio about yourself.
  avatar: /images/avatar.jpg
  location: China

social:
  github: https://github.com/yourname
  email: [email protected]
  rss: /atom.xml

menu:
  - name: 博客
    url: /blog/
  - name: 归档
    url: /archives/
  - name: 关于
    url: /about/

skills:
  - category: Frontend
    items: [HTML, CSS, JavaScript]
  - category: Backend
    items: [Node.js, Python]

dark_mode: true
toc: true
reading_time: true
```

## Navigation

The default menu links:

| Name | Path |
|------|------|
| 博客 | `/blog/` |
| 归档 | `/archives/` |
| 关于 | `/about/` |
| 友链 | `/links/` |

## License

[MIT](LICENSE)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.