node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


⭐ Moving future development to slush-hexo-theme. We can still fix bugs on this though. ⭐


Generate a hexo theme

Template choices:

  • ejs
  • nunjucks
  • pug
  • swig

Style choices:

  • stylus
  • sass
  • scss
  • less
  • css


  • hexo scripts
  • bower: .bowerrc, bower.json


npm install --global yo
npm install --global generator-hexo-theme


If you don't have a site yet create one with hexo init hexo-cli.

mkdir my-site
cd my-site
hexo init

Navigate to the directory you want to place the theme project in (most likely themes/).

# from the site root 
cd themes
# make a new theme directory 
mkdir my-theme
cd my-theme
# generate 
yo hexo-theme
  1. Check _config.yml in your main blog directory
  • Set theme property to your theme name, activating this theme
  1. Check _config.yml in your theme directory
  • Change menu items if needed
  • Change stylesheet and scripts list if needed
  1. Navigate back to your main blog directory
  2. hexo server --debug

Hexo renderers

It might be necessary to goto the blog root and install a specific renderer for the template language you have chosen. Swig is built into Hexo at the current version.

# templates 
npm install hexo-renderer-ejs
npm install hexo-renderer-njks
npm install hexo-render-pug
# styles 
npm install hexo-renderer-stylus
npm install hexo-renderer-less
npm install hexo-renderer-sass

Thank you

Resources -- What is all this for?