Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including slush-hexo-theme with all npm packages installed. Try it out:

slush-hexo-theme lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("slush-hexo-theme/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

slush-hexo-theme v0.1.2

generate a hexo theme project

slush-hexo-theme

Generate a hexo theme

Yeoman version available too

Template choices:

  • ejs
  • nunjucks
  • pug
  • swig

Style choices:

  • stylus
  • sass
  • scss
  • less
  • css

Other:

  • hexo scripts
  • bower: .bowerrc, bower.json
  • npm: package.json
  • .gitignore
  • .editorconfig

Install globally

npm install --global slush
npm install --global slush-hexo-theme

How to use it

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
slush hexo-theme

It will not automatically overwrite an existing file. Overwrites are confirmed with the user.

  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 to your main blog directory
  2. hexo server --debug

Hexo renderers

It might be necessary to goto the blog directory and install a specific renderer for the template language you have chosen. Swig are built into Hexo.

# 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

Help!


Contribute

It's a community project. Want to help?

  • Fix a bug
  • GitHub star ⭐
  • npm star slush-hexo-theme
  • Do we need to implement any helpers? https://hexo.io/docs/helpers.html

Know another template language hexo users need?

  1. Fork
  2. Copy an existing template directory
  3. Port it to the new language
  4. Test
  5. Create pull request

Development

# test the development build
# it's faster than prd script
npm run dev

# build before publishing
# prd = production build
npm run prd

# clean up the test site
npm run clean

npm run prd does everything needed:

  • clean
  • link
  • test

If you want to add a template language please copy one and port it so it keeps roughly the same structure.


Thank you contributors

Resources

  • Theme docs https://hexo.io/docs/themes.html
  • Submit your theme https://github.com/hexojs/hexo-theme-unit-test
  • Slush docs http://slushjs.github.io
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free