hexo-theme-indigo-plus is a Hexo theme that forks the Material Design–style hexo-theme-indigo and adds prism.js code highlighting, per-post MathJax, post pinning, and Baidu SEO features for Chinese-language blogs.
What is hexo-theme-indigo-plus?
hexo-theme-indigo-plus is a Hexo blog theme created by Abel Su as an optimized fork of yscoder's hexo-theme-indigo. It runs on Hexo 3.0+ with Node 6.x+ and renders Markdown posts into a static Material Design–style site. The theme's outputs include standard blog pages (home, archive, categories, tags, about) plus optional Douban book/movie/game pages when the hexo-douban plugin is configured. Configuration is split between the Hexo root _config.yml and the theme's own _config.yml.
Key Features
- Prism.js code highlighting — Replaces Hexo's default highlight.js; the code theme is selectable in
_config.yml, and requires usinghexo-renderer-kramedinstead ofhexo-renderer-markedto render correctly. - Per-post MathJax — Includes
MathJax.jsonly on posts whose YAML front matter containsmathjax: true, keeping other pages lightweight. - Custom post pinning — Supports a
topinteger in front matter; homepage ordering defaults totopdescending, thendatedescending, with all posts defaulting totop: 1. - Article counts on listings — Adds post counts to archive, category, and tag pages, and per-category/per-tag counts on their individual pages.
- Baidu SEO integration — Works with
hexo-baidu-url-submitto auto-submit new post URLs to Baidu Webmaster Tools and can generatebaidusitemap.xml. - Optimized Douban pages — Adjusts
hexo-doubanbook, movie, and game pages with theme-matching tabs and styles, including custombook.ejs,movie.ejs, andgame.ejstemplates. - Valine comment display — Improves the styling of the Valine comment system inside the theme's layout.
- Floating comment button — Adds a floating button that jumps directly to the comment section on each post.
Who is it for?
- Chinese-language tech bloggers — who want Baidu search submission, a Chinese-optimized theme config, and integrations with Valine, Busuanzi, and Douban out of the box.
- Hexo users writing math-heavy content — who need LaTeX formulas rendered with MathJax but want to load the JavaScript only on specific posts.
- Existing hexo-theme-indigo users — who want the original Material Design look with extra conveniences like prism.js highlight themes, alphabetical tag and category pages, and article counts.
What can you do with it?
- Pin important posts: set
top: 2(or higher) in a post's front matter to move it above the defaulttop: 1posts on the homepage. - Publish Douban shelves: install
hexo-douban, set your Douban ID in_config.yml, and runhexo doubanto generate styled book, movie, and game pages. - Submit new content to Baidu: configure
hexo-baidu-url-submitwith your host and token, then runhexo deployto push the URL list to Baidu. - Show related posts: run
hexo recommendwith thehexo-recommended-postsplugin to place internal and external related-article lists at the bottom of each post.
How does the theme work?
The README outlines a setup flow: install Hexo, set language: zh-CN and highlight.enable: false at the blog root, clone the theme into themes/indigo-plus, install the required renderers and generators, and then generate the site with hexo clean, hexo g, and hexo s for local preview. Deploys can be automated with hexo-deployer-git and the optional Baidu submitter, and the docs recommend running hexo recommend and hexo douban before hexo g if those plugins are installed.
Alternatives
- hexo-theme-indigo — the upstream theme this fork is based on, for users who prefer the original without the prism.js highlighting, article counts, and Baidu SEO additions.
FAQ
What Hexo and Node versions does hexo-theme-indigo-plus require?
The installation guide specifies Hexo 3.0+ and Node 6.x+. The theme also relies on the Less renderer (hexo-renderer-less) and modern browser features.
How do I enable MathJax for one post?
Add mathjax: true to the post's YAML front matter and ensure mathjax: true appears in themes/indigo-plus/_config.yml. The MathJax script will then load only on that post.
How can I pin a post on the homepage?
Set the top field in the post's front matter to an integer greater than 1. The default is 1, so higher top values sort first on the homepage; ties are broken by date descending.
Does the theme support Baidu search submission?
Yes. By installing hexo-baidu-url-submit and configuring it in the root _config.yml, hexo deploy will submit the latest URLs to Baidu. The theme also supports optional hexo-generator-baidu-sitemap for a baidusitemap.xml.
Why must I disable highlight.js?
The theme replaces the default code highlighter with prism.js. The README instructs setting highlight.enable: false in the Hexo config and swapping hexo-renderer-marked for hexo-renderer-kramed so prism.js handles the highlighting without conflicts.





