Skip to content
Generate a hexo theme: ejs, pug, swig, nunjucks
HTML JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app hopefully fixing swig paginator Aug 11, 2019
test upgrade for yo >=2 Nov 19, 2018
.editorconfig re-formatted and fix paginator Nov 13, 2017
.eslintrc upgrade for yo >=2 Nov 19, 2018
.gitignore upgrade for yo >=2 Nov 19, 2018
.prettierrc upgrade for yo >=2 Nov 19, 2018
package.json upgrade modules Aug 11, 2019 upgrade for yo >=2 Nov 19, 2018


Generate a hexo theme

Template choices:

  • ejs
  • nunjucks
  • pug
  • swig

Style choices:

  • stylus
  • sass
  • scss
  • less
  • css


  • hexo scripts directory
  • .editorconfig file
  • package.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?

You can’t perform that action at this time.