Alright, first off, I am going to say this: I don't own Hexo. But I do like the utility, and I recently just build a new website for it. This post will allow me to reflect on what I think about it.
First off. The ease of use. I know that sounds weird, but it is true. It is super easy to install with the simple 5 line initialization script. This is what the script is:
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server
That is it. That is the whole script. Thing is, if you want to create a new blog, you don't need to use the npm install hexo-cli -g
every time. It is a one time command that installs it to the whole system. So if you wanted to make a new blog (without installing Hexo), all you need to type is:
hexo init blog
cd blog
npm install
hexo server
Now, I know that the command line is intimidating to some people, but this makes it super simple.
The next part is the amount of plugins. While 359 plugins (at the time of writing this) does not sound like a lot, they are all powerfull. I made this article using a plugin called hexo-admin
. The back end is really easy to navigate, and it won't get pushed with the rest of the site, when you push it to any static website hosting services. Speaking of which, Hexo supports deploying to Static Hostings, as it generates Static files (no dynamic files are generated, for details on that, visit hexo.io), and allows you to deploy it using one simple command.
hexo deploy
This is how you deploy it to a hosting. I have it setup in the config file (_config.yml) to push to a GitHub repo, which is how I am hosting my website. Hexo allows for other types of deployment, with the following Static Hostings:
Git
Heroku
Netlify
Rsync
OpenShift
FTPSync
SFTP
Vercel
21YunBox
Bip
I find it nice that you can push to may different hostings. It allows for flexability. Not only that, if you host a website in multiple places, you are able to push changes to all of the ones at once. All thanks to a few lines in the _config.yml file. I have mine setup to push to my repo, which is really fast. However, you will need to clean the public
folder if you want to push any changes that you have made. The plus side, is they even built in a command for that.
hexo clean
hexo deploy
This is an example of the clean and push method. Anyway, I am getting off track, so let me get back on track. Hexo supports custom theming! Sadly, most of the themes you will find are in a foreign language. For mine, I use a theme called NexT. It has a included Dark theme, so I thought I would use it, and I am really happy with the way it came out. By default, Hexo comes with a theme that the Hexo team made, called Landscape. But if you arn't happy with any of the themes that come with Hexo, they allow you to make your own! They even provide documentation on how to make one! But, I don't think I will make my own theme for Hexo. If I do, it would not look good anyway, as I am not good with Swig, the default rendering engine. But hey, that is me.
Aside from that, I reall like Hexo. It is super simple to use, and understand. I am not going to get into specifics on how the file structure works, all I know is that I can add a new MD file in the _post folder, and start writing. Personally, I just like to use the admin backend that is hexo-admin
. Who am I to stop you from doing you, though. Most of this may have just been a rant, but I honestly do like Hexo. Hexo is a cool little program that uses the Node.JS backend. While I am still trying to learn NodeJS, I just think it is a cool little program. Anyway, I am going to end this post here before I start rambling again. So, thank you for reading, and I hope you have a nice rest of your day.
0 comments