Awesome
Hexon
Let's hexo online!
English | 中文
❔ How it works?
Hexon is a GUI for hexo with git, run commands and manage content for you.
⭐️ Features
- Post and page management
- Front-matter template
Online image managementuse imageur
📘 Guide
Before Install
Make sure your git
, hexo
and Node.js
workflow is fine. Hexon only provide a GUI for these commands, but not implement them.
Install
git clone https://github.com/gethexon/hexon --depth 1
cd hexon
pnpm install
pnpm run setup
Uninstall
Just remove the folder you just cloned
rm -rf hexon
Start
For plain Node.js:
pnpm start
For better devOps with pm2
pnpm prd
# or integrate pm2 with `pnpm start` manually
Update
Just uninstall the old one and install the new one.
💻 Commands
pnpm run setup
: install and configpnpm start
: start hexon with nodepnpm prd
: start hexon with pm2pnpm resetpwd
: reset passwordpnpm script
: manage custom script
You can replace hexon commands with your own bash script inside hexo blog folder.
e.g. modify git sync
script
- write your script in
<hexo-blog-path>/git_sync.sh
- run
pnpm script
- select
git sync
- set script to
bash ./git_sync.sh
🖥️ Develop
- Check out
main
branch. - Run
pnpm dev-init
install dependencies and config hexon. - Run
pnpm dev
and show your magic!
💩 Have trouble?
- Read FAQs below.
- Search in Issue list.
- Add new Issue.
❓ Want to know more?
Start a discussion.
👌🏻 FAQ
404 Error
Maybe mistakes in revert proxy config(e.g. Nginx or Apache config). To verify, use curl
on your server directly request assets without any revert proxy. This should be a command looks like:
curl http://localhost:5777/assets/HMonacoEditor.5101bbae.js
Or hexon failure. Just raise an issue.
<details> <summary>If you are using Apache's reverse proxy...</summary> Please make sure to add `AllowEncodedSlashes NoDecode` in your `VirtualHost` configuration, and add `nocanon` at the end of the `ProxyPass` setting.See https://stackoverflow.com/questions/52034899/express-nodejs-server-through-apache-proxy-error-404-for-route-with-express-par and https://stackoverflow.com/questions/4390436/need-to-allow-encoded-slashes-on-apache
Example:
<VirtualHost *:443>
ServerName blog-admin.example.com
SSLCertificateFile /etc/certificates/example.com.crt
SSLCertificateKeyFile /etc/certificates/example.com.key
SSLCertificateChainFile /etc/certificates/example.com.crt
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
ProxyPass / http://localhost:5777/ nocanon
ProxyPassReverse / http://localhost:5777/
</VirtualHost>
</details>
Star history
Contributors
<a href="https://github.com/gethexon/hexon/graphs/contributors"> <img src="https://contrib.rocks/image?repo=gethexon/hexon" /> </a>License
GPL-3.0 © winwin2011