NOTICE: for hexo version >=6 < 7, please use the older hexo-theme-essence@v1.9.12
.
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 --save
On 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/essence
Whatever 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 --save
It'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:
lgm
for legendary grand masterigm
for international grand mastergm
for grand masterim
for international masterm
for mastercm
for candidate mastere
for experts
for specialistp
for pupilunr
for 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.