NOTICE: for hexo version >=6 < 7, please use the older [email protected].
Essence is a functional and darkmode featured theme for Hexo.
Visit Sshwy's Notes for preview.
[TOC]
- 🌓 Dark mode.
- 🔒 Encrypt tag for paragraphs of your post.
- 📦 Iconfont instead of font awesome. So if you need more icons you have to collect them yourself.
- 📂 Folder categorized instead of manually writing it into frontmatter.
- ☁️ Leancloud storage project for Valine.
- 📱 Responsive layout.
- 🔍 Local search.
You can simply install it as a node module:
npm install hexo-theme-essence --save
# or
yarn install hexo-theme-essence --saveOn another hand, the traditional way is still working, which means you clone this repository under <YourBlog>/themes/essence/:
cd <YourBlog>
mkdir --parents themes
git clone --depth 1 https://github.com/sshwy/hexo-theme-essence.git themes/essenceWhatever way you choose, please install these peer dependencies as well:
npm install hexo-renderer-stylus hexo-renderer-ejs --save
# or
yarn install hexo-renderer-stylus hexo-renderer-ejs --saveIt's worth reminding that hexo-renderer-stylus and hexo-renderer-ejs is hexo's default render engine.
First of all, create a copy of default configuration under <YourBlog>/, renaming it to _config.essence.yml.
Then you can follow the comments to modify it just as you want 😄.
If you use traditional way to install, Modifying <YourBlog>/themes/essence/_config.yml directly is also a way, but not recommended.
Essence prepared some useful hexo tag plugins for you.
Inserts a user handle with Codeforces-like color style.
{% codeforces rating_label @ username %}
{% cf rating_label @ username %}
rating_label insensitively can be:
lgmfor legendary grand masterigmfor international grand mastergmfor grand masterimfor international mastermfor mastercmfor candidate masterefor expertsfor specialistpfor pupilunrfor unrated
Examples:
{% codeforces im @ sshwyR %}
{% cf im @ sshwyR %}
Produce a HTML details block:
{% details [open] [@ title] %}
[content]
{% enddetails %}
Examples:
{% details open @ Default set to open %}
Details **Content**
{% enddetails %}
{% details @ Default set to close %}
Details **Content**
{% enddetails %}
{% details %}
No title
{% enddetails %}
Encrypt part of your post with custom password.
{% enc password [hint] %}
[content]
{% endenc %}
Examples:
{% enc 123456 password: 123456 (space is not allowed in password but allowed in hint) %}
test
{% enc 123456 123456 %}
Hi, there!
{% endenc %}
{% endenc %}
known issue: Can't work with markdown code fence block inside. solution: hexo code block tag plugin
Pull requests are welcome. For major changes and feature requests, please open an issue first to discuss what you would like to change or request.
View LICENSE.md for detailed information.